From f0f83e5746c0aab5b99a49b0998ef93de2b1e0df Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 17 Apr 2018 13:08:42 +0200
Subject: [PATCH] Philippe 17/04/2018: IO: bug correction to read chem fields +
 minor corrections for field names

---
 src/MNH/read_field.f90   | 12 ++++++------
 src/MNH/spawn_field2.f90 |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/MNH/read_field.f90 b/src/MNH/read_field.f90
index ad190dcf8..39b434db7 100644
--- a/src/MNH/read_field.f90
+++ b/src/MNH/read_field.f90
@@ -737,21 +737,21 @@ IF (NSV_ELECEND>=NSV_ELECBEG) THEN
 END IF
 !
 IF (NSV_CHGSEND>=NSV_CHGSBEG) THEN
-  CNAMES(JSV-NSV_CHGSBEG+1) = UPCASE(CNAMES(JSV-NSV_CHGSBEG+1))
-  TZFIELD%CMNHNAME   = TRIM(CNAMES(JSV-NSV_CHGSBEG+1))//'T'
   TZFIELD%CSTDNAME   = ''
-  TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
   TZFIELD%CUNITS     = 'ppbv'
   TZFIELD%CDIR       = 'XY'
-  WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3)')'X_Y_Z_','CHIM',JSV
   TZFIELD%NGRID      = 1
   TZFIELD%NTYPE      = TYPEREAL
   TZFIELD%NDIMS      = 3
   TZFIELD%LTIMEDEP   = .TRUE.
   !
   DO JSV = NSV_CHGSBEG,NSV_CHGSEND
+    CNAMES(JSV-NSV_CHGSBEG+1) = UPCASE(CNAMES(JSV-NSV_CHGSBEG+1))
     SELECT CASE(HGETSVT(JSV))
       CASE ('READ')
+        TZFIELD%CMNHNAME   = TRIM(CNAMES(JSV-NSV_CHGSBEG+1))//'T'
+        TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
+        WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3)')'X_Y_Z_','CHIM',JSV
         CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PSVT(:,:,:,JSV))
       CASE ('INIT')
         PSVT(:,:,:,JSV) = 0.
@@ -760,7 +760,6 @@ IF (NSV_CHGSEND>=NSV_CHGSBEG) THEN
 END IF
 !
 IF (NSV_CHACEND>=NSV_CHACBEG) THEN
-  CNAMES(JSV-NSV_CHACBEG+NSV_CHGS+1) = UPCASE(CNAMES(JSV-NSV_CHACBEG+NSV_CHGS+1))
   TZFIELD%CSTDNAME   = ''
   !PW TODO: check units
   TZFIELD%CUNITS     = ''
@@ -771,6 +770,7 @@ IF (NSV_CHACEND>=NSV_CHACBEG) THEN
   TZFIELD%LTIMEDEP   = .TRUE.
   !
   DO JSV = NSV_CHACBEG,NSV_CHACEND
+    CNAMES(JSV-NSV_CHACBEG+NSV_CHGS+1) = UPCASE(CNAMES(JSV-NSV_CHACBEG+NSV_CHGS+1))
     SELECT CASE(HGETSVT(JSV))
       CASE ('READ')
         TZFIELD%CMNHNAME   = TRIM(CNAMES(JSV-NSV_CHACBEG+NSV_CHGS+1))//'M'
@@ -785,7 +785,6 @@ IF (NSV_CHACEND>=NSV_CHACBEG) THEN
 END IF
 !
 IF (NSV_CHICEND>=NSV_CHICBEG) THEN
-  CICNAMES(JSV-NSV_CHICBEG+1) = UPCASE(CICNAMES(JSV-NSV_CHICBEG+1))
   TZFIELD%CSTDNAME   = ''
   TZFIELD%CUNITS     = ''
   TZFIELD%CDIR       = 'XY'
@@ -795,6 +794,7 @@ IF (NSV_CHICEND>=NSV_CHICBEG) THEN
   TZFIELD%LTIMEDEP   = .TRUE.
   !
   DO JSV = NSV_CHICBEG,NSV_CHICEND
+    CICNAMES(JSV-NSV_CHICBEG+1) = UPCASE(CICNAMES(JSV-NSV_CHICBEG+1))
     SELECT CASE(HGETSVT(JSV))
       CASE ('READ')
         TZFIELD%CMNHNAME   = TRIM(CICNAMES(JSV-NSV_CHICBEG+1))//'T'
diff --git a/src/MNH/spawn_field2.f90 b/src/MNH/spawn_field2.f90
index 018d6d0c4..05c47bd8d 100644
--- a/src/MNH/spawn_field2.f90
+++ b/src/MNH/spawn_field2.f90
@@ -941,7 +941,6 @@ IF (PRESENT(TPSONFILE)) THEN
     ! Ice phase chemical Scalar Variables
     !
     IF (NSV_CHICEND>=NSV_CHICBEG) THEN
-      CICNAMES(JSV-NSV_CHICBEG+1) = UPCASE(CICNAMES(JSV-NSV_CHICBEG+1))
       TZFIELD%CSTDNAME   = ''
       TZFIELD%CUNITS     = ''
       TZFIELD%CDIR       = 'XY'
@@ -951,6 +950,7 @@ IF (PRESENT(TPSONFILE)) THEN
       TZFIELD%LTIMEDEP   = .TRUE.
       !
       DO JSV = NSV_CHICBEG,NSV_CHICEND
+        CICNAMES(JSV-NSV_CHICBEG+1) = UPCASE(CICNAMES(JSV-NSV_CHICBEG+1))
         TZFIELD%CMNHNAME   = TRIM(CICNAMES(JSV-NSV_CHICBEG+1))//'T'
         TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
         WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3,A8)')'X_Y_Z_','SVT',JSV,' (ppp)'
-- 
GitLab