Skip to content
Snippets Groups Projects
write_phys_param.f90 34.3 KiB
Newer Older
  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