Skip to content
Snippets Groups Projects
write_phys_param.f90 34 KiB
Newer Older
  • Learn to ignore specific revisions
  •    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 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