diff --git a/src/MNH/ini_nsv.f90 b/src/MNH/ini_nsv.f90 index 83d7f7ff3cab7721609544e1e90f897f776cd766..fd55ecb10bc2a7cc05473695231445d6fd4352d7 100644 --- a/src/MNH/ini_nsv.f90 +++ b/src/MNH/ini_nsv.f90 @@ -61,6 +61,7 @@ END MODULE MODI_INI_NSV !! Modification 15/02/12 (Pialat/Tulet) Add SV for ForeFire scalars !! 03/2013 (C.Lac) add supersaturation as !! the 4th C2R2 scalar variable +!! J.escobar 04/08/2015 suit Pb with writ_lfin JSA increment , modif in ini_nsv to have good order initialization !! !------------------------------------------------------------------------------- ! @@ -180,6 +181,67 @@ ELSE NSV_ELECEND_A(KMI) = 0 END IF ! +! scalar variables used as lagragian variables +! +IF (LLG) THEN + NSV_LG_A(KMI) = 3 + NSV_LGBEG_A(KMI) = ISV+1 + NSV_LGEND_A(KMI) = ISV+NSV_LG_A(KMI) + ISV = NSV_LGEND_A(KMI) +ELSE + NSV_LG_A(KMI) = 0 +! force First index to be superior to last index +! in order to create a null section + NSV_LGBEG_A(KMI) = 1 + NSV_LGEND_A(KMI) = 0 +END IF +! +! scalar variables used as LiNOX passive tracer +! +! In case without chemistry +IF (LPASPOL) THEN + NSV_PP_A(KMI) = NRELEASE + NSV_PPBEG_A(KMI)= ISV+1 + NSV_PPEND_A(KMI)= ISV+NSV_PP_A(KMI) + ISV = NSV_PPEND_A(KMI) +ELSE + NSV_PP_A(KMI) = 0 +! force First index to be superior to last index +! in order to create a null section + NSV_PPBEG_A(KMI)= 1 + NSV_PPEND_A(KMI)= 0 +END IF +! +#ifdef MNH_FOREFIRE + +! ForeFire tracers +IF (LFOREFIRE .AND. NFFSCALARS .GT. 0) THEN + NSV_FF_A(KMI) = NFFSCALARS + NSV_FFBEG_A(KMI) = ISV+1 + NSV_FFEND_A(KMI) = ISV+NSV_FF_A(KMI) + ISV = NSV_FFEND_A(KMI) +ELSE + NSV_FF_A(KMI) = 0 +! force First index to be superior to last index +! in order to create a null section + NSV_FFBEG_A(KMI)= 1 + NSV_FFEND_A(KMI)= 0 +END IF +#endif +! Conditional sampling variables +IF (LCONDSAMP) THEN + NSV_CS_A(KMI) = NCONDSAMP + NSV_CSBEG_A(KMI)= ISV+1 + NSV_CSEND_A(KMI)= ISV+NSV_CS_A(KMI) + ISV = NSV_CSEND_A(KMI) +ELSE + NSV_CS_A(KMI) = 0 +! force First index to be superior to last index +! in order to create a null section + NSV_CSBEG_A(KMI)= 1 + NSV_CSEND_A(KMI)= 0 +END IF +! ! scalar variables used in chemical core system ! IF (NEQ .GT. 0) THEN @@ -344,21 +406,6 @@ ELSE ! in order to create a null section END IF ! -! scalar variables used as lagragian variables -! -IF (LLG) THEN - NSV_LG_A(KMI) = 3 - NSV_LGBEG_A(KMI) = ISV+1 - NSV_LGEND_A(KMI) = ISV+NSV_LG_A(KMI) - ISV = NSV_LGEND_A(KMI) -ELSE - NSV_LG_A(KMI) = 0 -! force First index to be superior to last index -! in order to create a null section - NSV_LGBEG_A(KMI) = 1 - NSV_LGEND_A(KMI) = 0 -END IF -! ! scalar variables used as LiNOX passive tracer ! ! In case without chemistry @@ -375,53 +422,11 @@ ELSE NSV_LNOXEND_A(KMI)= 0 END IF ! -! scalar variables used as LiNOX passive tracer -! -! In case without chemistry -IF (LPASPOL) THEN - NSV_PP_A(KMI) = NRELEASE - NSV_PPBEG_A(KMI)= ISV+1 - NSV_PPEND_A(KMI)= ISV+NSV_PP_A(KMI) - ISV = NSV_PPEND_A(KMI) -ELSE - NSV_PP_A(KMI) = 0 -! force First index to be superior to last index -! in order to create a null section - NSV_PPBEG_A(KMI)= 1 - NSV_PPEND_A(KMI)= 0 -END IF -! -#ifdef MNH_FOREFIRE - -! ForeFire tracers -IF (LFOREFIRE .AND. NFFSCALARS .GT. 0) THEN - NSV_FF_A(KMI) = NFFSCALARS - NSV_FFBEG_A(KMI) = ISV+1 - NSV_FFEND_A(KMI) = ISV+NSV_FF_A(KMI) - ISV = NSV_FFEND_A(KMI) -ELSE - NSV_FF_A(KMI) = 0 -! force First index to be superior to last index -! in order to create a null section - NSV_FFBEG_A(KMI)= 1 - NSV_FFEND_A(KMI)= 0 -END IF -#endif +! finale number of NSV variable ! -IF (LCONDSAMP) THEN - NSV_CS_A(KMI) = NCONDSAMP - NSV_CSBEG_A(KMI)= ISV+1 - NSV_CSEND_A(KMI)= ISV+NSV_CS_A(KMI) - ISV = NSV_CSEND_A(KMI) -ELSE - NSV_CS_A(KMI) = 0 -! force First index to be superior to last index -! in order to create a null section - NSV_CSBEG_A(KMI)= 1 - NSV_CSEND_A(KMI)= 0 -END IF NSV_A(KMI) = ISV ! +! !* Update LHORELAX_SV,CGETSVM,CGETSVT for NON USER SV ! ! C2R2 or KHKO SV case diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90 index e72f6ab133d2b1e1f4214075a17b38424057d253..bf3cba65a067be919f74a840f314193da417dd9e 100644 --- a/src/MNH/write_lfin.f90 +++ b/src/MNH/write_lfin.f90 @@ -160,6 +160,7 @@ END MODULE MODI_WRITE_LFIFM_n !! C.Lac Dec.2014 writing past wind fields for centred advection !! J.-P. Pinty Jan 2015 add LNOx and flash map diagnostics !! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 +!! J.escobar 04/08/2015 suit Pb with writ_lfin JSA increment , modif in ini_nsv to have good order initialization !! !------------------------------------------------------------------------------- ! @@ -1079,7 +1080,7 @@ IF (NSV >=1) THEN ILENCH=LEN(YCOMMENT) CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & YCOMMENT,IRESP) - !JSA=JSA+1 + JSA=JSA+1 END DO ! Passive scalar variables IF (LPASPOL) THEN @@ -1089,7 +1090,7 @@ IF (NSV >=1) THEN ILENCH=LEN(YCOMMENT) CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & YCOMMENT,IRESP) - !JSA=JSA+1 + JSA=JSA+1 END DO END IF #ifdef MNH_FOREFIRE @@ -1113,7 +1114,7 @@ IF (NSV >=1) THEN ILENCH=LEN(YCOMMENT) CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & YCOMMENT,IRESP) - !JSA=JSA+1 + JSA=JSA+1 END DO ! END IF