diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90 index 0ddb6828df367c941a4fe5b0f62bde77df98cfdb..81e8c12aa1e3a50398c1de9bb6fcaa55c46d011c 100644 --- a/src/MNH/prep_ideal_case.f90 +++ b/src/MNH/prep_ideal_case.f90 @@ -572,9 +572,6 @@ REAL :: ZZS_MAX, ZZS_MAX_ll INTEGER :: IJPHEXT ! TYPE(TFILEDATA),POINTER :: TZEXPREFILE => NULL() -TYPE(TFILEDATA),POINTER :: TZFILEDUMMY => TFILE_DUMMY -TYPE(TFILEDATA),POINTER :: TZINIFILEPGD => NULL() -TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL() ! ! !* 0.2 Namelist declarations @@ -715,13 +712,13 @@ CALL INI_FIELD_SCALARS() ! IF( LEN_TRIM(CPGD_FILE) /= 0 ) THEN ! open the PGD_FILE - CALL IO_FILE_ADD2LIST(TZPGDFILE,TRIM(CPGD_FILE),'UNKNOWN','READ',KLFINPRAR=NNPRAR,KLFITYPE=2,KLFIVERB=NVERB) - CALL IO_FILE_OPEN_ll(TZPGDFILE) + CALL IO_FILE_ADD2LIST(TPGDFILE,TRIM(CPGD_FILE),'UNKNOWN','READ',KLFINPRAR=NNPRAR,KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_OPEN_ll(TPGDFILE) ! read the grid in the PGD file - CALL IO_READ_FIELD(TZPGDFILE,'IMAX', NIMAX) - CALL IO_READ_FIELD(TZPGDFILE,'JMAX', NJMAX) - CALL IO_READ_FIELD(TZPGDFILE,'JPHEXT',IJPHEXT) + CALL IO_READ_FIELD(TPGDFILE,'IMAX', NIMAX) + CALL IO_READ_FIELD(TPGDFILE,'JMAX', NJMAX) + CALL IO_READ_FIELD(TPGDFILE,'JPHEXT',IJPHEXT) IF ( CPGD_FILE /= CINIFILEPGD) THEN WRITE(NLUOUT,FMT=*) ' WARNING : in PRE_IDEA1.nam, in NAM_LUNITn you& @@ -1201,7 +1198,7 @@ IF( LEN_TRIM(CPGD_FILE) /= 0 ) THEN !-------------------------------------------------------- ! the MESONH horizontal grid will be read in the PGD_FILE !-------------------------------------------------------- - CALL READ_HGRID(1,TZPGDFILE,YPGD_NAME,YPGD_DAD_NAME,YPGD_TYPE) + CALL READ_HGRID(1,TPGDFILE,YPGD_NAME,YPGD_DAD_NAME,YPGD_TYPE) ! control the cartesian option IF( LCARTESIAN ) THEN WRITE(NLUOUT,FMT=*) 'PREP_IDEAL_CASE : IN GENERAL, THE USE OF A PGD_FILE & @@ -1489,10 +1486,10 @@ IF (CIDEAL == 'RSOU') THEN BACKSPACE(NLUPRE) ! because YKIND read again in set_rsou WRITE(NLUOUT,FMT=*) 'CIDEAL="RSOU", ATTEMPT TO PROCESS THE SOUNDING DATA' IF (LGEOSBAL) THEN - CALL SET_RSOU(TZFILEDUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& + CALL SET_RSOU(TFILE_DUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& LRMV_BL,XJ,LSHIFT,XCORIOZ) ELSE - CALL SET_RSOU(TZFILEDUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& + CALL SET_RSOU(TFILE_DUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& LRMV_BL,XJ,LSHIFT) END IF ! @@ -1508,10 +1505,10 @@ ELSE IF (CIDEAL == 'CSTN') THEN TDTMOD = TDTCUR WRITE(NLUOUT,FMT=*) 'CIDEAL="CSTN", ATTEMPT TO PROCESS THE SOUNDING DATA' IF (LGEOSBAL) THEN - CALL SET_CSTN(TZFILEDUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& + CALL SET_CSTN(TFILE_DUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& LRMV_BL,XJ,LSHIFT,XCORIOZ) ELSE - CALL SET_CSTN(TZFILEDUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& + CALL SET_CSTN(TFILE_DUMMY,TZEXPREFILE,CFUNU,CFUNV,NILOC(1),NJLOC(1),LBOUSS,LPV_PERT,& LRMV_BL,XJ,LSHIFT) END IF ! @@ -1553,7 +1550,7 @@ CALL UPDATE_METRICS(CLBCX,CLBCY,XDXX,XDYY,XDZX,XDZY,XDZZ) ! !* 5.4.2 3D reference state : ! -CALL SET_REF(0,TZFILEDUMMY, & +CALL SET_REF(0,TFILE_DUMMY, & XZZ,XZHAT,XJ,XDXX,XDYY,CLBCX,CLBCY, & XREFMASS,XMASS_O_PHI0,XLINMASS, & XRHODREF,XTHVREF,XRVREF,XEXNREF,XRHODJ) @@ -1776,10 +1773,10 @@ IF (CSURF =='EXTE') THEN CALL PGD_GRID_SURF_ATM(YSURF_CUR%UG, YSURF_CUR%U,YSURF_CUR%GCP,'MESONH',TINIFILE%CNAME,'MESONH',.TRUE.,HDIR='-') CALL PGD_SURF_ATM (YSURF_CUR,'MESONH',TINIFILE%CNAME,'MESONH',.TRUE.) CALL IO_FILE_ADD2LIST(TINIFILEPGD,TRIM(CINIFILEPGD),'PREPIDEALCASE','WRITE',KLFINPRAR=NNPRAR,KLFITYPE=NTYPE,KLFIVERB=NVERB) + CALL IO_FILE_OPEN_ll (TINIFILEPGD) TPGDFILE => TINIFILEPGD ELSE ! ... or read from file. - TPGDFILE => TZPGDFILE CALL INIT_PGD_SURF_ATM(YSURF_CUR,'MESONH','PGD', & ' ',' ',& TDTCUR%TDATE%YEAR, TDTCUR%TDATE%MONTH, & @@ -1795,24 +1792,16 @@ IF (CSURF =='EXTE') THEN !* writing of physiographic fields in the file CSTORAGE_TYPE='PG' ! - IF (ASSOCIATED(TINIFILEPGD)) THEN - TZINIFILEPGD => TINIFILEPGD - ELSE - CALL IO_FILE_ADD2LIST(TZINIFILEPGD,TRIM(CINIFILEPGD),'PREPIDEALCASE','WRITE',KLFINPRAR=NNPRAR,KLFITYPE=NTYPE,KLFIVERB=NVERB) - END IF - ! - CALL IO_FILE_OPEN_ll(TZINIFILEPGD) - ! - CALL IO_WRITE_HEADER(TZINIFILEPGD) - CALL IO_WRITE_FIELD(TZINIFILEPGD,'SURF','EXTE') - CALL IO_WRITE_FIELD(TZINIFILEPGD,'L1D', L1D) - CALL IO_WRITE_FIELD(TZINIFILEPGD,'L2D', L2D) - CALL IO_WRITE_FIELD(TZINIFILEPGD,'PACK',LPACK) - CALL WRITE_HGRID(1,TZINIFILEPGD) + CALL IO_WRITE_HEADER(TINIFILEPGD) + CALL IO_WRITE_FIELD(TINIFILEPGD,'SURF','EXTE') + CALL IO_WRITE_FIELD(TINIFILEPGD,'L1D', L1D) + CALL IO_WRITE_FIELD(TINIFILEPGD,'L2D', L2D) + CALL IO_WRITE_FIELD(TINIFILEPGD,'PACK',LPACK) + CALL WRITE_HGRID(1,TINIFILEPGD) ! - TOUTDATAFILE => TZINIFILEPGD + TOUTDATAFILE => TINIFILEPGD ! - TFILE_SURFEX => TZINIFILEPGD + TFILE_SURFEX => TINIFILEPGD ALLOCATE(YSURF_CUR%DUO%CSELECT(0)) CALL WRITE_PGD_SURF_ATM_n(YSURF_CUR,'MESONH') NULLIFY(TFILE_SURFEX) @@ -1837,11 +1826,11 @@ END IF ! --------------- ! IF (CSURF =='EXTE' .AND. (LEN_TRIM(CPGD_FILE)==0 .OR. .NOT. LREAD_GROUND_PARAM)) THEN - CALL IO_FILE_CLOSE_ll(TZINIFILEPGD) + CALL IO_FILE_CLOSE_ll(TINIFILEPGD) ENDIF CALL IO_FILE_CLOSE_ll(TINIFILE) IF( LEN_TRIM(CPGD_FILE) /= 0 ) THEN - CALL IO_FILE_CLOSE_ll(TZPGDFILE) + CALL IO_FILE_CLOSE_ll(TPGDFILE) ENDIF ! ! diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90 index 2a0cbf32ab201ff178bcbce8b3a7285e19ac65c8..7d27a7b7490a01db206e15af192761c85bb2e175 100644 --- a/src/MNH/prep_real_case.f90 +++ b/src/MNH/prep_real_case.f90 @@ -510,7 +510,6 @@ LOGICAL :: LUSECHIC LOGICAL :: LUSECHEM ! TYPE(TFILEDATA),POINTER :: TZATMFILE => NULL() -TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL() TYPE(TFILEDATA),POINTER :: TZPRE_REAL1FILE => NULL() ! ! @@ -571,12 +570,10 @@ CALL INITIO_ll() CALL OPEN_PRC_FILES(TZPRE_REAL1FILE,YATMFILE, YATMFILETYPE,TZATMFILE & ,YCHEMFILE,YCHEMFILETYPE & ,YSURFFILE,YSURFFILETYPE & - ,YPGDFILE,TZPGDFILE) + ,YPGDFILE,TPGDFILE) ILUOUT0 = TLUOUT0%NLU TLUOUT => TLUOUT0 ! -TPGDFILE => TZPGDFILE -! IF (YATMFILETYPE=='MESONH') THEN LSHIFT = .FALSE. ELSE IF (YATMFILETYPE=='GRIBEX') THEN @@ -630,8 +627,8 @@ IF (YATMFILETYPE == 'GRIBEX') THEN CALL INIT_NMLVAR() CALL READ_VER_GRID(TZPRE_REAL1FILE) ! -CALL IO_READ_FIELD(TZPGDFILE,'IMAX',NIMAX) -CALL IO_READ_FIELD(TZPGDFILE,'JMAX',NJMAX) +CALL IO_READ_FIELD(TPGDFILE,'IMAX',NIMAX) +CALL IO_READ_FIELD(TPGDFILE,'JMAX',NJMAX) ! NIMAX_ll=NIMAX !! _ll variables are global variables NJMAX_ll=NJMAX !! but the old names are kept in PRE_IDEA1.nam file @@ -710,12 +707,12 @@ ZMISC = ZTIME2 - ZTIME1 ZTIME1 = ZTIME2 ! IF (YATMFILETYPE=='MESONH') THEN - CALL READ_ALL_DATA_MESONH_CASE(TZPRE_REAL1FILE,YATMFILE,TZPGDFILE,YDAD_NAME) + CALL READ_ALL_DATA_MESONH_CASE(TZPRE_REAL1FILE,YATMFILE,TPGDFILE,YDAD_NAME) ELSE IF (YATMFILETYPE=='GRIBEX') THEN IF(LEN_TRIM(YCHEMFILE)>0 .AND. YCHEMFILETYPE=='GRIBEX')THEN - CALL READ_ALL_DATA_GRIB_CASE('ATM1',TZPRE_REAL1FILE,YATMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL) + CALL READ_ALL_DATA_GRIB_CASE('ATM1',TZPRE_REAL1FILE,YATMFILE,TPGDFILE,ZHORI,NVERB,LDUMMY_REAL) ELSE - CALL READ_ALL_DATA_GRIB_CASE('ATM0',TZPRE_REAL1FILE,YATMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL) + CALL READ_ALL_DATA_GRIB_CASE('ATM0',TZPRE_REAL1FILE,YATMFILE,TPGDFILE,ZHORI,NVERB,LDUMMY_REAL) END IF ! YDAD_NAME=' ' @@ -739,9 +736,9 @@ IF(LEN_TRIM(YCHEMFILE)>0)THEN CALL POSNAM(IPRE_REAL1,'NAM_AERO_CONF',GFOUND,ILUOUT0) IF (GFOUND) READ(IPRE_REAL1,NAM_AERO_CONF) IF(YCHEMFILETYPE=='GRIBEX') & - CALL READ_ALL_DATA_GRIB_CASE('CHEM',TZPRE_REAL1FILE,YCHEMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL) + CALL READ_ALL_DATA_GRIB_CASE('CHEM',TZPRE_REAL1FILE,YCHEMFILE,TPGDFILE,ZHORI,NVERB,LDUMMY_REAL) IF (YCHEMFILETYPE=='NETCDF') & - CALL READ_CHEM_DATA_NETCDF_CASE(TZPRE_REAL1FILE,YCHEMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL) + CALL READ_CHEM_DATA_NETCDF_CASE(TZPRE_REAL1FILE,YCHEMFILE,TPGDFILE,ZHORI,NVERB,LDUMMY_REAL) END IF ! CALL IO_FILE_CLOSE_ll(TZPRE_REAL1FILE) @@ -1065,7 +1062,7 @@ ZWRITE = ZTIME2 - ZTIME1 ! !* reading in the PGD file ! -CALL MNHREAD_ZS_DUMMY_n(TZPGDFILE) +CALL MNHREAD_ZS_DUMMY_n(TPGDFILE) ! !* writing in the output file ! diff --git a/src/MNH/prep_surfex.f90 b/src/MNH/prep_surfex.f90 index c1e0272b7d4956d3aeca0b5e871284c218850ba2..6b8ed11cd488f50fd0858727452991e2b6db54f7 100644 --- a/src/MNH/prep_surfex.f90 +++ b/src/MNH/prep_surfex.f90 @@ -83,7 +83,6 @@ CHARACTER (LEN=100) :: HCOMMENT INTEGER :: II, IJ, IGRID, ILENGTH ! TYPE(TFILEDATA),POINTER :: TZATMFILE => NULL() -TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL() TYPE(TFILEDATA),POINTER :: TZPRE_REAL1FILE => NULL() ! !------------------------------------------------------------------------------- @@ -107,11 +106,9 @@ CALL INITIO_ll() CALL OPEN_PRC_FILES(TZPRE_REAL1FILE,YATMFILE, YATMFILETYPE,TZATMFILE & ,YCHEMFILE,YCHEMFILETYPE & ,YSURFFILE,YSURFFILETYPE & - ,YPGDFILE,TZPGDFILE) + ,YPGDFILE,TPGDFILE) ILUOUT0 = TLUOUT0%NLU ! -TPGDFILE => TZPGDFILE -! !------------------------------------------------------------------------------- ! !* 3. INITIALIZATION OF PHYSICAL CONSTANTS @@ -134,8 +131,8 @@ CALL INI_FIELD_LIST(1) ! CALL INI_FIELD_SCALARS() ! -CALL IO_READ_FIELD(TZPGDFILE,'IMAX',II) -CALL IO_READ_FIELD(TZPGDFILE,'JMAX',IJ) +CALL IO_READ_FIELD(TPGDFILE,'IMAX',II) +CALL IO_READ_FIELD(TPGDFILE,'JMAX',IJ) CALL SET_JP_ll(JPMODELMAX,JPHEXT,JPVEXT,JPHEXT) CALL SET_DAD0_ll() CALL SET_DIM_ll(II, IJ, 1) diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90 index 26039717c44efbda1031b6d55928c5dbb20cb432..8921287c5ad125c5d1804f53319c6814aec231ce 100644 --- a/src/MNH/spawn_model2.f90 +++ b/src/MNH/spawn_model2.f90 @@ -228,7 +228,7 @@ USE MODD_CH_MNHC_n USE MODD_PASPOL_n !$20140515 USE MODD_VAR_ll, ONLY : NPROC -USE MODD_IO_ll, ONLY: TFILEDATA,TFILE_SURFEX +USE MODD_IO_ll, ONLY: TFILEDATA,TFILE_DUMMY,TFILE_SURFEX ! USE MODE_GRIDCART ! Executive modules USE MODE_GRIDPROJ @@ -386,7 +386,6 @@ REAL :: ZZS_MAX, ZZS_MAX_ll ! TYPE(TFILEDATA),POINTER :: TZFILE => NULL() TYPE(TFILEDATA),POINTER :: TZSONFILE => NULL() -TYPE(TFILEDATA),POINTER :: TZFILEDUMMY => NULL() !------------------------------------------------------------------------------- ! ! Save model index and switch to model 2 variables @@ -1096,7 +1095,7 @@ CALL MPPDB_CHECK3D(XDZY,"spawnmod2-aftrupdate_metrics:XDZY",PRECISION) ! !* 5.5 3D Reference state variables : ! -CALL SET_REF(0,TZFILEDUMMY, & +CALL SET_REF(0,TFILE_DUMMY, & XZZ,XZHAT,ZJ,XDXX,XDYY,CLBCX,CLBCY, & XREFMASS,XMASS_O_PHI0,XLINMASS, & XRHODREF,XTHVREF,XRVREF,XEXNREF,XRHODJ) diff --git a/src/MNH/ver_thermo.f90 b/src/MNH/ver_thermo.f90 index b7a3dcd0e606608ae6c33e4bf315eff96abca230..1a13b3ad198633c5a48f9c2d2cf002093702cf67 100644 --- a/src/MNH/ver_thermo.f90 +++ b/src/MNH/ver_thermo.f90 @@ -160,7 +160,7 @@ USE MODD_CST USE MODD_DYN_n USE MODD_FIELD_n, ONLY: XTHT,XRT,XPABST,XDRYMASST USE MODD_GRID_n -USE MODD_IO_ll, ONLY: TFILEDATA +USE MODD_IO_ll, ONLY: TFILEDATA,TFILE_DUMMY USE MODD_LBC_n USE MODD_LSFIELD_n USE MODD_LUNIT, ONLY: CLUOUT0,TLUOUT0 @@ -228,7 +228,6 @@ INTEGER :: IISIZEX4,IJSIZEX4,IISIZEX2,IJSIZEX2 ! West-east LB arrays INTEGER :: IISIZEYF,IJSIZEYF,IISIZEYFV,IJSIZEYFV ! dimensions of the INTEGER :: IISIZEY4,IJSIZEY4,IISIZEY2,IJSIZEY2 ! North-south LB arrays TYPE(TFIELDDATA) :: TZFIELD -TYPE(TFILEDATA) :: TZFILEDUMMY !------------------------------------------------------------------------------- ! @@ -332,7 +331,7 @@ ALLOCATE(XRVREF(IIU,IJU,IKU)) ALLOCATE(XEXNREF(IIU,IJU,IKU)) ALLOCATE(XRHODJ(IIU,IJU,IKU)) XRVREF(:,:,:) = 0. -CALL SET_REF(0,TZFILEDUMMY,XZZ,XZHAT,PJ,PDXX,PDYY,CLBCX,CLBCY, & +CALL SET_REF(0,TFILE_DUMMY,XZZ,XZHAT,PJ,PDXX,PDYY,CLBCX,CLBCY, & XREFMASS,XMASS_O_PHI0,XLINMASS,XRHODREF,XTHVREF,XRVREF, & XEXNREF,XRHODJ) diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90 index f2ccf946d31b7a81f09ff40e86f9ca8d3fda9cb7..e9312af77e59630bb05a65745b075435312dfa86 100644 --- a/src/MNH/zoom_pgd.f90 +++ b/src/MNH/zoom_pgd.f90 @@ -49,7 +49,7 @@ USE MODD_CONF, ONLY : CPROGRAM, NMASDEV, NBUGFIX, CBIBUSER, & L1D, L2D, LPACK USE MODD_IO_ll, ONLY: NIO_VERB,NVERB_DEBUG,TFILE_OUTPUTLISTING,TFILEDATA -USE MODD_LUNIT, ONLY : CLUOUT0, TPGDFILE, TLUOUT0, TOUTDATAFILE +USE MODD_LUNIT, ONLY : CLUOUT0, TLUOUT0, TOUTDATAFILE USE MODD_PARAMETERS, ONLY : XUNDEF, NUNDEF, JPVEXT, JPHEXT, JPMODELMAX USE MODD_PARAM_n, ONLY : CSURF USE MODD_DIM_n, ONLY : NIMAX, NJMAX