Juan 22/03/2016 :Suit Pb with writ_lfin JSA increment , modif in ini_nsv to have...
authorGaelle Tanguy <gaelle.tanguy@meteo.fr>
Tue, 22 Mar 2016 14:24:25 +0000 (14:24 +0000)
committerPhilippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Thu, 19 May 2016 14:44:49 +0000 (16:44 +0200)
src/MNH/ini_nsv.f90
src/MNH/write_lfin.f90

index 83d7f7f..fd55ecb 100644 (file)
@@ -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
index e72f6ab..bf3cba6 100644 (file)
@@ -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