From 82808abe1bc67a3606a651bf18827268a7f914dc Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Tue, 16 May 2017 09:27:09 +0200 Subject: [PATCH] Philippe 16/05/2017: removed unused file (with MNH_NCWRIT) --- src/MNH/write_phys_param.f90 | 1200 ---------------------------------- 1 file changed, 1200 deletions(-) delete mode 100644 src/MNH/write_phys_param.f90 diff --git a/src/MNH/write_phys_param.f90 b/src/MNH/write_phys_param.f90 deleted file mode 100644 index db8256b61..000000000 --- a/src/MNH/write_phys_param.f90 +++ /dev/null @@ -1,1200 +0,0 @@ -!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier -!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt -!MNH_LIC for details. version 1. -#ifdef MNH_NCWRIT -! ############################ - MODULE MODI_WRITE_PHYS_PARAM -! ############################ -! -INTERFACE -! -SUBROUTINE WRITE_PHYS_PARAM(HFMFILE) -CHARACTER(LEN=28), INTENT(IN) :: HFMFILE ! Name of FM-file to write - ! its DAD model -END SUBROUTINE WRITE_PHYS_PARAM -! -END INTERFACE -! -END MODULE MODI_WRITE_PHYS_PARAM -! -! -! ############################################# - SUBROUTINE WRITE_PHYS_PARAM(HFMFILE) -! ############################################# -! -!!**** *WRITE_PHYS_PARAM* - routine to define the netcdf variables written in phys_param for model $n -!! -!! PURPOSE -!! ------- -! The purpose of this routine is to define the variables in case of -! netcdf output -! -!!** METHOD -!! ------ -!! The data are defined in the NC file : -!! - dimensions -!! - grid variables -!! - configuration variables -!! - prognostic variables at time t and t-dt -!! - 1D anelastic reference state -!! -!! The localization on the model grid is also indicated : -!! -!! IGRID = 1 for mass grid point -!! IGRID = 2 for U grid point -!! IGRID = 3 for V grid point -!! IGRID = 4 for w grid point -!! IGRID = 0 for meaningless case -!! -!! -!! EXTERNAL -!! -------- -!! FMWRIT : FM-routine to write a record -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_DIM_n : contains dimensions -!! Module MODD_TIME : contains time variables for all models -!! Module MODD_TIME_n : contains time variables -!! Module MODD_GRID : contains spatial grid variables for all models -!! Module MODD_GRID_n : contains spatial grid variables -!! Module MODD_REF : contains reference state variables -!! Module MODD_LUNIT_n: contains logical unit variables. -!! Module MODD_CONF : contains configuration variables for all models -!! Module MODD_CONF_n : contains configuration variables -!! Module MODD_FIELD_n : contains prognostic variables -!! Module MODD_GR_FIELD_n : contains surface prognostic variables -!! Module MODD_LSFIELD_n : contains Larger Scale variables -!! Module MODD_PARAM_n : contains parameterization options -!! -!! REFERENCE -!! --------- -!! -!! -!! AUTHOR -!! ------ -!! S. Bielli *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! -!! 09/2015 (S. Bielli) Remove HDADFILE from call argument -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_DIM_n -USE MODD_CONF -USE MODD_CONF_n -USE MODD_GRID -USE MODD_GRID_n -USE MODD_TIME -USE MODD_TIME_n -USE MODD_FIELD_n -USE MODD_MEAN_FIELD_n -USE MODD_DUMMY_GR_FIELD_n -USE MODD_LSFIELD_n -USE MODD_DYN_n -USE MODD_PARAM_n -USE MODD_REF -USE MODD_LUNIT_n -USE MODD_NSV -USE MODD_TURB_n -USE MODD_TURB_CLOUD -USE MODD_RADIATIONS_n -USE MODD_REF_n, ONLY : XRHODREF -USE MODD_FRC -USE MODD_PRECIP_n -USE MODD_ELEC_n -USE MODD_CST -USE MODD_CLOUDPAR -USE MODD_DEEP_CONVECTION_n -USE MODD_PARAM_KAFR_n -USE MODD_NESTING -USE MODD_PARAMETERS -USE MODD_PARAM_MFSHALL_n -USE MODD_PARAM_RAD_n -USE MODD_SUB_MODEL_n -USE MODD_GR_FIELD_n -USE MODD_CH_MNHC_n, ONLY: LUSECHEM,LCH_CONV_LINOX, & - LUSECHAQ,LUSECHIC,LCH_PH -USE MODD_CH_PH_n -USE MODD_CH_M9_n -USE MODD_PARAM_C2R2 -USE MODD_RAIN_C2R2_DESCR, ONLY: C2R2NAMES -USE MODD_ICE_C1R3_DESCR, ONLY: C1R3NAMES -USE MODD_ELEC_DESCR, ONLY: CELECNAMES -USE MODD_LG, ONLY: CLGNAMES -USE MODD_NSV -USE MODD_AIRCRAFT_BALLOON -USE MODD_HURR_CONF, ONLY: LFILTERING,CFILTERING,NDIAG_FILT -USE MODD_HURR_FIELD_n -USE MODD_PREP_REAL, ONLY: CDUMMY_2D, XDUMMY_2D -USE MODD_DUST -USE MODD_SALT -USE MODD_PASPOL -USE MODD_CONDSAMP -USE MODD_CH_AEROSOL -! -USE MODE_FMWRIT -USE MODE_ll -USE MODE_IO_ll, ONLY: UPCASE,CLOSE_ll -USE MODE_GRIDPROJ -USE MODE_MODELN_HANDLER -! -USE MODI_GATHER_ll -USE MODI_WRITE_LB_n -USE MODI_WRITE_BALLOON_n -USE MODI_DUSTLFI_n -USE MODI_SALTLFI_n -USE MODI_CH_AER_REALLFI_n -!SB -USE MODN_NCOUT -use mode_util -!SB -! -! -IMPLICIT NONE -! -!* 0.1 Declarations of arguments -! -CHARACTER(LEN=28), INTENT(IN) :: HFMFILE ! Name of FM-file to write -! -!* 0.2 Declarations of local variables -! -INTEGER :: ILUOUT ! logical unit -INTEGER :: IRESP ! IRESP : return-code if a problem appears - !in LFI subroutines at the open of the file -INTEGER :: IGRID ! IGRID : grid indicator -INTEGER :: ILENCH ! ILENCH : length of comment string -! -CHARACTER(LEN=16) :: YRECFM ! Name of the article to be written -CHARACTER(LEN=100):: YCOMMENT ! Comment string -CHARACTER (LEN=2) :: YDIR ! Type of the data field -! -INTEGER :: IRR ! Index for moist variables -INTEGER :: JSV ! loop index for scalar variables -INTEGER :: JSA ! beginning of chemical-aerosol variables - -! -CHARACTER(LEN=3) :: YFRC ! to mark the time of the forcing -INTEGER :: JT ! loop index -! -CHARACTER (LEN=4), DIMENSION(NSWB) :: YBAND_NAME ! Solar band name -INTEGER :: JBAND ! Solar band index -INTEGER :: INIR ! index corresponding to NIR fisrt band (in SW) -! -INTEGER :: JMOM, IMOMENTS, JMODE, ISV_NAME_IDX ! dust modes -! -INTEGER :: IIU, IJU, IKU -! -REAL,DIMENSION(:,:), ALLOCATABLE :: ZSTORE_2D ! Working array -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSTORE_3D ! Working array -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSTORE_3DWL ! Working array -! -REAL :: ZLATOR, ZLONOR ! geographical coordinates of 1st mass point -REAL :: ZXHATM, ZYHATM ! conformal coordinates of 1st mass point -REAL, DIMENSION(:), ALLOCATABLE :: ZXHAT_ll ! Position x in the conformal - ! plane (array on the complete domain) -REAL, DIMENSION(:), ALLOCATABLE :: ZYHAT_ll ! Position y in the conformal - ! plane (array on the complete domain) -INTEGER :: IMI ! Current model index -INTEGER :: KSPLT ! -! -INTEGER :: ICH_NBR ! to write number and names of scalar -INTEGER,DIMENSION(:),ALLOCATABLE :: ICH_NAMES !(chem+aero+dust) variables -CHARACTER(LEN=16),DIMENSION(:),ALLOCATABLE :: YDSTNAMES,YCHNAMES, YSLTNAMES -INTEGER :: ILREC,ILENG !in NSV.DIM and NSV.TITRE -INTEGER :: INFO_ll -!------------------------------------------------------------------------------- -! -!* 0. Initialization - - -! -IMI = GET_CURRENT_MODEL_INDEX() -IIU=NIMAX+2*JPHEXT -IJU=NJMAX+2*JPHEXT -IKU=NKMAX+2*JPVEXT -KSPLT = 1 -! -CALL FMLOOK_ll(CLUOUT,CLUOUT,ILUOUT,IRESP) -! -ALLOCATE(ZSTORE_2D(IIU,IJU)) -ALLOCATE(ZSTORE_3D(IIU,IJU,IKU)) -!! Array for radiations fields on 6 sprectral bands -ALLOCATE(ZSTORE_3DWL(IIU,IJU,NSWB_MNH)) - -ZSTORE_2D(:,:)=0 -ZSTORE_3D(:,:,:)=0 -ZSTORE_3DWL(:,:,:)=0 - -! - -!* 1. WRITES IN THE PHYS_PARAM SUBROUTINE (FOR NETCDF ONLY) -! -!!!!! RADIATIONS.F90 !!!! -!!! ADD A TEST AS A FUNCTION OF NAMELIST VARIABLE -IF( CRAD == 'ECMW' ) THEN -!!! - IF( NRAD_DIAG >= 1 ) THEN - IF( NRAD_DIAG >= 1) THEN - !!!!! 3D variables - YDIR='XY' - YRECFM = 'SWF_DOWN' - YCOMMENT = 'X_Y_Z_SWF_DOWN (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'SWF_UP' - YCOMMENT = 'X_Y_Z_SWF_UP (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'LWF_DOWN' - YCOMMENT = 'X_Y_Z_LWF_DOWN (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'LWF_UP' - YCOMMENT = 'X_Y_Z_LWF_UP (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'LWF_NET' - YCOMMENT = 'X_Y_Z_LWF_NET (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'SWF_NET' - YCOMMENT = 'X_Y_Z_SWF_NET (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'DTRAD_LW' - YCOMMENT = 'X_Y_Z_DTRAD_LW (K/DAY)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'DTRAD_SW' - YCOMMENT = 'X_Y_Z_DTRAD_SW (K/DAY)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - !!!!! 2D variables - YRECFM = 'RADSWD_VIS' - YCOMMENT = 'X_Y_RADSWD_VIS' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'RADSWD_NIR' - YCOMMENT = 'X_Y_RADSWD_NIR' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'RADLWD' - YCOMMENT = 'X_Y_RADLWD' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ENDIF - IF( NRAD_DIAG >= 2) THEN - YDIR='XY' - YRECFM = 'SWF_DOWN_CS' - YCOMMENT = 'X_Y_Z_SWF_DOWN_CS (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'SWF_UP_CS' - YCOMMENT = 'X_Y_Z_SWF_UP_CS (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'LWF_DOWN_CS' - YCOMMENT = 'X_Y_Z_LWF_DOWN (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'LWF_UP_CS' - YCOMMENT = 'X_Y_Z_LWF_UP_CS (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'LWF_NET_CS' - YCOMMENT = 'X_Y_Z_SWF_NET_CS (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'SWF_NET_CS' - YCOMMENT = 'X_Y_Z_SWF_NET_CS (W/M2)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'DTRAD_SW_CS' - YCOMMENT = 'X_Y_Z_DTRAD_SW_CS (K/DAY)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'DTRAD_LW_CS' - YCOMMENT = 'X_Y_Z_DTRAD_LW_CS (K/DAY)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'RADSWD_VIS_CS' - YCOMMENT = 'X_Y_RADSWD_VIS_CS' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'RADSWD_NIR_CS' - YCOMMENT = 'X_Y_RADSWD_NIR_CS' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'RADLWD_CS' - YCOMMENT = 'X_Y_RADLWD_CS' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ENDIF -!! - IF( NRAD_DIAG >= 3) THEN -!! - YRECFM = 'PLAN_ALB_VIS' - YCOMMENT = 'X_Y_PLAN_ALB_VIS' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'PLAN_ALB_NIR' - YCOMMENT = 'X_Y_PLAN_ALB_NIR' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'PLAN_TRA_VIS' - YCOMMENT = 'X_Y_PLAN_TRA_VIS' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'PLAN_TRA_NIR' - YCOMMENT = 'X_Y_PLAN_TRA_NIR' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'PLAN_ABS_VIS' - YCOMMENT = 'X_Y_PLAN_ABS_VIS' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'PLAN_ABS_NIR' - YCOMMENT = 'X_Y_PLAN_ABS_NIR' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_2D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ENDIF -!! - IF( NRAD_DIAG >= 4) THEN -!! - YRECFM = 'EFNEB_DOWN' - YCOMMENT = 'X_Y_Z_EFNEB_DOWN' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'EFNEB_UP' - YCOMMENT = 'X_Y_Z_EFNEB_UP' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'FLWP' - YCOMMENT = 'X_Y_Z_FLWP' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'FIWP' - YCOMMENT = 'X_Y_Z_FIWP' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'EFRADL' - YCOMMENT = 'X_Y_Z_RAD_microm' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'EFRADI' - YCOMMENT = 'X_Y_Z_RAD_microm' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'SW_NEB' - YCOMMENT = 'X_Y_Z_SW_NEB' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'RRTM_LW_NEB' - YCOMMENT = 'X_Y_Z_LW_NEB' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! -!!! 3D X,Y,Z for each ban ( 6 ) -!!! DO LOOP ???? - ! spectral bands - IF (NSWB==6) THEN - INIR = 4 - ELSE - INIR = 2 - END IF - - DO JBAND=1,INIR-1 - WRITE(YBAND_NAME(JBAND),'(A3,I1)') 'VIS', JBAND - END DO - DO JBAND= INIR,NSWB - WRITE(YBAND_NAME(JBAND),'(A3,I1)') 'NIR', JBAND - END DO -!! - DO JBAND = 1,NSWB - YRECFM = 'ODAER_'//YBAND_NAME(JBAND) - YCOMMENT = 'X_Y_Z_OD_'//YBAND_NAME(JBAND) - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'SSAAER_'//YBAND_NAME(JBAND) - YCOMMENT = 'X_Y_Z_SSA_'//YBAND_NAME(JBAND) - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'GAER_'//YBAND_NAME(JBAND) - YCOMMENT = 'X_Y_Z_G_'//YBAND_NAME(JBAND) - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! -!! 3D ?? - YRECFM = 'OTH_'//YBAND_NAME(JBAND) - YCOMMENT = 'X_Y_Z_OTH_'//YBAND_NAME(JBAND) - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'SSA_'//YBAND_NAME(JBAND) - YCOMMENT = 'X_Y_Z_SSA_'//YBAND_NAME(JBAND) - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'ASF_'//YBAND_NAME(JBAND) - YCOMMENT = 'X_Y_Z_ASF_'//YBAND_NAME(JBAND) - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! -!!! END DO LOOP ON JBAND ? - END DO - ENDIF -!! - IF (NRAD_DIAG >= 5) THEN -!! - YDIR='XY' - YRECFM = 'O3CLIM' - YCOMMENT = 'X_Y_Z_O3 Pa/Pa' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'CUM_AER_LAND' - YCOMMENT = 'X_Y_Z_CUM_AER_OPT' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'CUM_AER_SEA' - YCOMMENT = 'X_Y_Z_CUM_AER_OPT' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'CUM_AER_DES' - YCOMMENT = 'X_Y_Z_CUM_AER_OPT' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'CUM_AER_URB' - YCOMMENT = 'X_Y_Z_CUM_AER_OPT' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'CUM_AER_VOL' - YCOMMENT = 'X_Y_Z_CUM_AER_OPT' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM = 'CUM_AER_STRB' - YCOMMENT = 'X_Y_Z_CUM_AER_OPT' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - ENDIF - ENDIF -ENDIF - -!!!!!!!!! paspol -DO JSV=1,NSV_PP - IGRID = 1 - YDIR = 'XY' - WRITE(YRECFM,'(A3,I3.3)')'ATC',JSV+NSV_PPBEG-1 - WRITE(YCOMMENT,'(A6,A3,I3.3,A8)')'X_Y_Z_','ATC',JSV+NSV_PPBEG-1,' (1/M3) ' - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZSTORE_3D,IGRID,ILENCH, & - YCOMMENT,IRESP) -END DO -!! -!!!!!!!!! turb -IF (NRRL >=1) THEN - IF (LTURB_DIAG) THEN - YRECFM ='ATHETA' - YCOMMENT='X_Y_Z_ATHETA (M)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -! - YRECFM ='AMOIST' - YCOMMENT='X_Y_Z_AMOIST (M)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF -END IF -!! -!! cloud_modif_lm -IF (NMODEL_CLOUD==IMI .AND. CTURBLEN_CLOUD/='NONE') THEN - YRECFM ='LM_CLEAR_SKY' - YCOMMENT='X_Y_Z_LM CLEAR SKY (M)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM ='COEF_AMPL' - YCOMMENT='X_Y_Z_COEF AMPL (-)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM ='LM_CLOUD' - YCOMMENT='X_Y_Z_LM CLOUD (M)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -END IF -!! turb_ver -!!!! prandtl -IF ( LTURB_FLX ) THEN - ! stores the RED_TH1 - YRECFM ='RED_TH1' - YCOMMENT='X_Y_Z_RED_TH1 (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the RED_R1 - YRECFM ='RED_R1' - YCOMMENT='X_Y_Z_RED_R1 (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the RED2_TH3 - YRECFM ='RED2_TH3' - YCOMMENT='X_Y_Z_RED2_TH3 (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the RED2_R3 - YRECFM ='RED2_R3' - YCOMMENT='X_Y_Z_RED2_R3 (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the RED2_THR3 - YRECFM ='RED2_THR3' - YCOMMENT='X_Y_Z_RED2_THR3 (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -END IF - -!!!! turb_ver_thermo_flux -IF ( LTURB_FLX ) THEN - ! stores the conservative potential temperature vertical flux - YRECFM ='THW_FLX' - YCOMMENT='X_Y_Z_THW_FLX (K*M/S)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the conservative mixing ratio vertical flux - YRECFM ='RCONSW_FLX' - YCOMMENT='X_Y_Z_RCONSW_FLX (KG*M/S/KG)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! store the liquid water mixing ratio vertical flux - YRECFM ='RCW_FLX' - YCOMMENT='X_Y_Z_RCW_FLX (KG*M/S/KG)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! -!!!! turb_ver_thermo_corr - ! stores <THl THl> - YRECFM ='THL_VVAR' - YCOMMENT='X_Y_Z_THL_VVAR (KELVIN**2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores <THl Rnp> - IF ( NRR /= 0 ) THEN - YRECFM ='THLRCONS_VCOR' - YCOMMENT='X_Y_Z_THLRCONS_VCOR (KELVIN*KG/KG)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores <Rnp Rnp> - YRECFM ='RTOT_VVAR' - YCOMMENT='X_Y_Z_RTOT_VVAR (KG/KG **2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF -!! -!!!! turb_ver_dyn_flux - ! stores the U wind component vertical flux - YRECFM ='UW_VFLX' - YCOMMENT='X_Y_Z_UW_VFLX (M**2/S**2)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the V wind component vertical flux - YRECFM ='VW_VFLX' - YCOMMENT='X_Y_Z_VW_VFLX (M**2/S**2)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! -!! - IF ( CTURBDIM == '1DIM') THEN - ! stores the W variance - YRECFM ='W_VVAR' - YCOMMENT='X_Y_Z_W_VVAR (M**2/S**2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF -END IF -!!!! turb_ver_sv_flux -IF (SIZE(XSVT,4)>0) THEN - DO JSV=1, SIZE(XSVT,4) - IF (LTURB_FLX ) THEN - ! stores the JSVth vertical flux - WRITE(YRECFM,'("WSV_FLX_",I3.3)') JSV - YCOMMENT='X_Y_Z_'//YRECFM//' (SVUNIT*M/S)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF - END DO -END IF -!! back to turb_ver -IF ( LTURB_FLX ) THEN - ! stores the Turbulent Prandtl number - YRECFM ='PHI3' - YCOMMENT='X_Y_Z_PHI3 (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -! - ! stores the Turbulent Schmidt number - YRECFM ='PSI3' - YCOMMENT='X_Y_Z_PSI3 (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -! -! stores the Turbulent Schmidt number for the scalar variables -! - DO JSV=1,NSV - WRITE(YRECFM, '("PSI_SV_",I3.3)') JSV - YCOMMENT='X_Y_Z_'//YRECFM//' (0)' - IGRID = 4 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END DO -END IF -IF (CTURBDIM=='3DIM') THEN -!! turb_hor_splt -!!!! turb_hor case split and no split == idem A VERIFIER - !! turb_hor - !!!!!! turb_hor_thermo_flux - IF ( LTURB_FLX ) THEN - ! stores the horizontal <U THl> - YRECFM ='UTHL_FLX' - YCOMMENT='X_Y_Z_UTHL_FLX (KELVIN*M/S) ' - IGRID = 2 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the horizontal <U Rnp> - YRECFM ='UR_FLX' - YCOMMENT='X_Y_Z_UR_FLX (KG/KG * M/S) ' - IGRID = 2 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the horizontal <V THl> - YRECFM ='VTHL_FLX' - YCOMMENT='X_Y_Z_VTHL_FLX (KELVIN*M/S) ' - IGRID = 3 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - IF (NRR/=0) THEN - ! stores the horizontal <V Rnp> - YRECFM ='VR_FLX' - YCOMMENT='X_Y_Z_VR_FLX (KG/KG * M/S) ' - IGRID = 3 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF -!! - END IF -!! - IF (KSPLT==1) THEN -!!!!!! turb_hor_thermo_corr - IF ( LTURB_FLX ) THEN - ! stores <THl THl> - YRECFM ='THL_HVAR' - YCOMMENT='X_Y_Z_THL_HVAR (KELVIN**2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - IF ( NRR /= 0 ) THEN - YRECFM ='THLR_HCOR' - YCOMMENT='X_Y_Z_THLR_HCOR (KELVIN*KG/KG)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM ='R_HVAR' - YCOMMENT='X_Y_Z_R_HVAR (KG/KG **2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF - END IF -!!!!!! turb_hor_dyn_corr - ! stores <U U> - YRECFM ='U_VAR' - YCOMMENT='X_Y_Z_U_VAR ( (M/S)**2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores <V V> - YRECFM ='V_VAR' - YCOMMENT='X_Y_Z_V_VAR ( (M/S)**2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores <W W> - YRECFM ='W_VAR' - YCOMMENT='X_Y_Z_W_VAR ( (M/S)**2)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!!!!!! turb_hor_uv - ! stores <U V> - YRECFM ='UV_FLX' - YCOMMENT='X_Y_Z_UV_FLX ( (M/S) **2 ) ' - IGRID = 5 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) - END IF -END IF -!! -IF ( LTURB_FLX ) THEN - ! stores <U W> - YRECFM ='UW_HFLX' - YCOMMENT='X_Y_Z_UW_HFLX ( (M/S) **2 ) ' - IGRID = 6 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -END IF -!!!!!! turb_hor_vw -IF ( LTURB_FLX ) THEN - ! stores <V W> - YRECFM ='VW_HFLX' - YCOMMENT='X_Y_Z_VW_HFLX ( (M/S) **2 ) ' - IGRID = 7 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -END IF -!!!!!! turb_hor_sv_flux -IF ( LTURB_FLX ) THEN - DO JSV=1,NSV_USER - ! stores <U SVth> - WRITE(YRECFM,'("USV_FLX_",I3.3)') JSV - YCOMMENT='X_Y_Z_'//YRECFM//' (SVUNIT*M/S)' - IGRID = 2 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) - IF (.NOT. L2D) THEN - ! stores <V SVth> - WRITE(YRECFM,'("VSV_FLX_",I3.3)') JSV - YCOMMENT='X_Y_Z_'//YRECFM//' (SVUNIT*M/S)' - IGRID = 3 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) - END IF - END DO -END IF -!! -IF ( LTURB_DIAG ) THEN - ! stores the dynamic production - YRECFM ='DP' - YCOMMENT='X_Y_Z_DP (M**2/S**3)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the thermal production - YRECFM ='TP' - YCOMMENT='X_Y_Z_TP (M**2/S**3)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the whole turbulent transport - YRECFM ='TR' - YCOMMENT='X_Y_Z_TR (M**2/S**3)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the dissipation of TKE - YRECFM ='DISS' - YCOMMENT='X_Y_Z_DISS (M**2/S**3)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -END IF -! -IF ( LTURB_DIAG ) THEN - ! stores the mixing length - YRECFM ='LM' - YCOMMENT='X_Y_Z_LM (M)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - IF (NRR /= 0) THEN - ! stores the conservative potential temperature - YRECFM ='THLM' - YCOMMENT='X_Y_Z_THLM (KELVIN)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the conservative mixing ratio - YRECFM ='RNPM' - YCOMMENT='X_Y_Z_RNPM (KG/KG)' - IGRID = 1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH, & - YCOMMENT,IRESP) - END IF -END IF -!! -IF ( LTURB_DIAG ) THEN - YRECFM ='LM_CLEAR_SKY' - YCOMMENT='X_Y_Z_LM CLEAR SKY (M)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM ='COEF_AMPL' - YCOMMENT='X_Y_Z_COEF AMPL (-)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM ='LM_CLOUD' - YCOMMENT='X_Y_Z_LM CLOUD (M)' - IGRID = 1 - ILENCH = LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!! -END IF -!!!! tke_eps_sources -!IF ( LTURB_DIAG ) THEN -! ! stores the dynamic production -! YRECFM ='DP' -! YCOMMENT='X_Y_Z_DP (M**2/S**3)' -! IGRID = 1 -! ILENCH=LEN(YCOMMENT) -! CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!!! -! ! stores the thermal production -! YRECFM ='TP' -! YCOMMENT='X_Y_Z_TP (M**2/S**3)' -! IGRID = 1 -! ILENCH=LEN(YCOMMENT) -! CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!!! -! ! stores the whole turbulent transport -! YRECFM ='TR' -! YCOMMENT='X_Y_Z_TR (M**2/S**3)' -! IGRID = 1 -! ILENCH=LEN(YCOMMENT) -! CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!!! -! ! stores the dissipation of TKE -! YRECFM ='DISS' -! YCOMMENT='X_Y_Z_DISS (M**2/S**3)' -! IGRID = 1 -! ILENCH=LEN(YCOMMENT) -! CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D,IGRID,ILENCH,YCOMMENT,IRESP) -!END IF -!! -!!!!!!!!! Shallow_mf_pack -IF (CSCONV == 'EDKF') THEN - IF ( LMF_FLX ) THEN - ! stores the conservative potential temperature vertical flux - YRECFM ='MF_THW_FLX' - YCOMMENT='X_Y_Z_MF_THW_FLX (K*M/S)' - ILENCH = LEN(YCOMMENT) - IGRID = 4 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the conservative mixing ratio vertical flux - YRECFM ='MF_RCONSW_FLX' - YCOMMENT='X_Y_Z_MF_RCONSW_FLX (K*M/S)' - ILENCH = LEN(YCOMMENT) - IGRID = 4 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the theta_v vertical flux - YRECFM ='MF_THVW_FLX' - YCOMMENT='X_Y_Z_MF_THVW_FLX (K*M/S)' - ILENCH = LEN(YCOMMENT) - IGRID = 4 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - IF (LMIXUV) THEN - ! stores the U momentum vertical flux - YRECFM ='MF_UW_FLX' - YCOMMENT='X_Y_Z_MF_UW_FLX (M2/S2)' - ILENCH = LEN(YCOMMENT) - IGRID = 4 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - ! stores the V momentum vertical flux - YRECFM ='MF_VW_FLX' - YCOMMENT='X_Y_Z_MF_VW_FLX (M2/S2)' - ILENCH = LEN(YCOMMENT) - IGRID = 4 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF - END IF -END IF -!! -! RESOLVED CLOUD CASE C2R2 -!!! rain_c2r2 -IF (CCLOUD == 'C2R2' ) THEN - YRECFM ='RAY' - YCOMMENT='X_Y_Z_DIAM' - ILENCH=LEN(YCOMMENT) - IGRID = 1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM ='TERM_VEL' - YCOMMENT='X_Y_Z_TERM_VEL' - ILENCH=LEN(YCOMMENT) - IGRID = 1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - IF ( LSEDC ) THEN - YRECFM ='SEDSPEEDC' - YCOMMENT='X_Y_Z_SEDSPEEDC' - ILENCH=LEN(YCOMMENT) - IGRID = 1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) - END IF -!! - YRECFM ='ZCHEN' - YCOMMENT='X_Y_Z_ZCHEN' - ILENCH=LEN(YCOMMENT) - IGRID = 1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - YRECFM ='SURSAT' - YCOMMENT='X_Y_Z_SURSAT' - ILENCH=LEN(YCOMMENT) - IGRID = 1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! c2r2_adjust - YRECFM ='NEB' - YCOMMENT='X_Y_Z_NEB (0)' - ILENCH=LEN(YCOMMENT) - IGRID = 1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSTORE_3D, & - IGRID,ILENCH,YCOMMENT,IRESP) -!! - -END IF -! -!!!!!!!!!!!!CALL WRITE_LB_n(HFMFILE) -! -! -! -DEALLOCATE(ZSTORE_2D,ZSTORE_3D,ZSTORE_3DWL) -! -!-------------------------------------------------------------------------------! -! -END SUBROUTINE WRITE_PHYS_PARAM -#endif -- GitLab