<p><b>fanglin.yang@noaa.gov</b> 2012-05-10 17:43:50 -0600 (Thu, 10 May 2012)</p><p>reorganize structure 05-10-2012<br>
</p><hr noshade><pre><font color="gray">Deleted: branches/atmos_physics_gfs/src/core_atmos_physics_gfs/GFS_InternalState.f
===================================================================
--- branches/atmos_physics_gfs/src/core_atmos_physics_gfs/GFS_InternalState.f        2012-05-10 23:40:46 UTC (rev 1895)
+++ branches/atmos_physics_gfs/src/core_atmos_physics_gfs/GFS_InternalState.f        2012-05-10 23:43:50 UTC (rev 1896)
@@ -1,322 +0,0 @@
-!
-! !MODULE: GFS_InternalState_module --- Internal state definition of the
-!                                        ESMF gridded component of the GFS system.
-!
-! !DESCRIPTION: GFS_InternalState_module --- Define the GFS internal state used to
-!                                             create the ESMF internal state.
-!---------------------------------------------------------------------------
-! !REVISION HISTORY:
-!
-!  November 2004      Weiyu Yang Initial code.
-!  May 2005           Weiyu Yang for the updated GFS version.
-!  February 2006      Shrinivas Moorthi updated for the new version of GFS
-!  September2006      Weiyu Yang For the ensemble run couple version.
-!  April    2009      Shrinivas Moorthi merge GEFS and generalized GFS versions
-!  May      2012      Fanglin Yang simplified for use in MAPS without ESMF
-!
-! !INTERFACE:
-!
- MODULE GFS_InternalState_module
-
-!!USES:
-!------
-!fy  USE ESMF_Mod
-USE NameList_ESMFMod, ONLY: nam_gfs_Namelist
-
- USE MACHINE, ONLY: kind_rad, kind_phys, kind_io4, kind_evod
- USE layout1
- USE gg_def
- USE vert_def
- USE sig_io
- USE date_def
- USE namelist_def
- USE namelist_soilveg
- USE mpi_def
-!!!!!! USE semi_lag_def
- USE coordinate_def                                      ! hmhj
- USE tracer_const                                        ! hmhj
-!fy USE matrix_sig_def
- use module_ras , only : nrcmax
- use ozne_def
- use d3d_def
- use Sfc_Flx_ESMFMod
- use Nst_Var_ESMFMod
-
- IMPLICIT none
-
- TYPE GFS_InternalState
-
-!fy   TYPE(nam_gfs_NameList)    :: nam_gfs
-!fy   TYPE(ESMF_State_Namelist) :: ESMF_Sta_List
-
-      TYPE(Sfc_Var_Data)        :: sfc_fld
-      TYPE(Flx_Var_Data)        :: flx_fld
-      TYPE(Nst_Var_Data)        :: nst_fld
-
-      INTEGER                   :: me, mm1, nodes
-      INTEGER                   :: lonr_s, latr_s, lnt2_s
-      INTEGER                   :: lnt2, grid4_i1(2)
-      integer                   :: grib_inp
-      INTEGER                   :: npe_single_member
-
-      REAL(KIND = kind_io4), DIMENSION(:, :), POINTER ::            &amp;
-        z_im, ps_im, vor_im, div_im, temp_im, q_im, oz_im, scld_im, &amp;
-        z_ex, ps_ex, vor_ex, div_ex, temp_ex, q_ex, oz_ex, scld_ex
-
-      REAL(KIND = kind_evod), DIMENSION(:, :), POINTER :: trieo_ls_im
-      REAL(KIND = kind_evod), DIMENSION(:, :), POINTER :: write_work8
-      REAL(KIND = kind_evod), DIMENSION(:, :), POINTER :: write_work8_ini
-
-!
-! idate1_im and idate1_ex:  (1) --- bfhour (integer), (2) - (5) --- idate.
-!-------------------------------------------------------------------------
-!
-      INTEGER,               DIMENSION(:, :),    POINTER :: idate1_im, idate1_ex
-
-      REAL(KIND = kind_io4), DIMENSION(:, :),    POINTER ::                               &amp;
-        orography_im,             t_skin_im,                  snow_depth_im,              &amp;
-        deep_soil_t_im,           roughness_im,               conv_cloud_cover_im,        &amp;
-        conv_cloud_base_im,       conv_cloud_top_im,          albedo_visible_scattered_im,&amp;
-        albedo_visible_beam_im,   albedo_nearIR_scattered_im, albedo_nearIR_beam_im,      &amp;
-        sea_level_ice_mask_im,    vegetation_cover_im,        canopy_water_im,            &amp;
-        m10_wind_fraction_im,     vegetation_type_im,         soil_type_im,               &amp;
-        zeneith_angle_facsf_im,   zeneith_angle_facwf_im,     uustar_im,                  &amp;
-        ffmm_im,                  ffhh_im,                    sea_ice_thickness_im,       &amp;
-        sea_ice_concentration_im, tprcp_im,                   srflag_im,                  &amp;
-        actual_snow_depth_im,     vegetation_cover_min_im,    vegetation_cover_max_im,    &amp;
-        slope_type_im,            snow_albedo_max_im,                                     &amp;  

-! MOdified by Weiyu (DHOU, 04/04/2008).
-!-------------------
-        soil_t_im1, soil_t_im2, soil_t_im3, soil_mois_im1, soil_mois_im2, soil_mois_im3,  &amp;
-        liquid_soil_moisture_im1, liquid_soil_moisture_im2, liquid_soil_moisture_im3,     &amp;
-
-        orography_ex,             t_skin_ex,                  snow_depth_ex,              &amp;
-        deep_soil_t_ex,           roughness_ex,               conv_cloud_cover_ex,        &amp;
-        conv_cloud_base_ex,       conv_cloud_top_ex,          albedo_visible_scattered_ex,&amp;
-        albedo_visible_beam_ex,   albedo_nearIR_scattered_ex, albedo_nearIR_beam_ex,      &amp;
-        sea_level_ice_mask_ex,    vegetation_cover_ex,        canopy_water_ex,            &amp;
-        m10_wind_fraction_ex,     vegetation_type_ex,         soil_type_ex,               &amp;
-        zeneith_angle_facsf_ex,   zeneith_angle_facwf_ex,     uustar_ex,                  &amp;
-        ffmm_ex,                  ffhh_ex,                    sea_ice_thickness_ex,       &amp;
-        sea_ice_concentration_ex, tprcp_ex,                   srflag_ex,                  &amp;
-        actual_snow_depth_ex,     vegetation_cover_min_ex,    vegetation_cover_max_ex,    &amp;
-        slope_type_ex,            snow_albedo_max_ex
-
-      REAL(KIND = kind_io4), DIMENSION(:, :, :), POINTER ::                               &amp;
-        soil_mois_im,            soil_t_im,      soil_mois_ex, soil_t_ex,                 &amp;
-        liquid_soil_moisture_im, liquid_soil_moisture_ex
-
-! To represent the trie_ls and trio_ls in the ESMF states, add levh. Weiyu.
-!--------------------------------------------------------------------------
-
-!     INTEGER ntrac,nxpt,nypt,jintmx,jcap,levs,levh,lonf,lonr,latg,latr
-      INTEGER ntrac,jcapg,jcap,levs,levh,lonf,lonr,latg,latr
-      INTEGER ntoz, ntcw, ncld, lsoil, nmtvr, num_p3d, num_p2d,levr
-
-      CHARACTER(16)                     ::  CFHOUR1
-
-      INTEGER                           ::  KDT
-      REAL                              ::  DELTIM
-
-! For creating the ESMF interface state with the GFS
-! internal parallel structure.   Weiyu.
-!---------------------------------------------------
-      INTEGER                               :: TRIEO_TOTAL_SIZE
-      INTEGER, ALLOCATABLE, DIMENSION(:)    :: TRIE_LS_SIZE,    TRIO_LS_SIZE
-      INTEGER, ALLOCATABLE, DIMENSION(:)    :: TRIEO_LS_SIZE
-      INTEGER, ALLOCATABLE, DIMENSION(:)    :: LS_MAX_NODE_GLOBAL
-      INTEGER, ALLOCATABLE, DIMENSION(:, :) :: LS_NODE_GLOBAL
-
-! For flexible choose the time interval of the tendency time difference.
-!-----------------------------------------------------------------------
-      INTEGER                               :: advanceCount_SetUp
-
-!fy   CHARACTER(ESMF_MAXSTR) :: TRIEO_STATE_NAME
-!fy   CHARACTER(ESMF_MAXSTR) :: TRIEO_STINI_NAME
-
-      INTEGER              ,ALLOCATABLE ::      LONSPERLAT (:)
-      INTEGER              ,ALLOCATABLE ::      lonsperlar (:)
-      INTEGER              ,ALLOCATABLE ::      LS_NODE    (:)
-      INTEGER              ,ALLOCATABLE ::      LS_NODES   (:, :)
-      INTEGER              ,ALLOCATABLE ::  MAX_LS_NODES   (:)
-
-      INTEGER              ,ALLOCATABLE ::  LATS_NODES_A   (:)
-      INTEGER              ,ALLOCATABLE ::  GLOBAL_LATS_A  (:)
-!     INTEGER              ,ALLOCATABLE ::  LATS_NODES_EXT (:)
-!     INTEGER              ,ALLOCATABLE ::  GLOBAL_LATS_EXT(:)
-
-      INTEGER              ,ALLOCATABLE ::  LATS_NODES_R   (:)
-      INTEGER              ,ALLOCATABLE ::  GLOBAL_LATS_R  (:)
-
-      real(kind=kind_phys) ,allocatable ::  fscav(:)
-
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::        EPSE  (:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::        EPSO  (:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::        EPSEDN(:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::        EPSODN(:)
-
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       SNNP1EV(:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       SNNP1OD(:)
-
-      INTEGER              ,ALLOCATABLE ::        NDEXEV(:)
-      INTEGER              ,ALLOCATABLE ::        NDEXOD(:)
-
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNEV_A(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNOD_A(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PDDEV_A(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PDDOD_A(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNEW_A(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNOW_A(:,:)
-
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNEV_R(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNOD_R(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PDDEV_R(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PDDOD_R(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNEW_R(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       PLNOW_R(:,:)
-
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       TRIE_LS(:,:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::       TRIO_LS(:,:,:)
-
-! For Ensemble forecast requirement, add two more arrays to save the
-! initial conditions.   Weiyu.
-!------------------------------------------------------------------
-      REAL(KIND=KIND_EVOD) ,    POINTER ::       TRIE_LS_INI(:,:,:)
-      REAL(KIND=KIND_EVOD) ,    POINTER ::       TRIO_LS_INI(:,:,:)
-
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::      SYN_LS_A(:,:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::      DYN_LS_A(:,:,:)
-
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::    SYN_GR_A_1(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::    SYN_GR_A_2(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::    DYN_GR_A_1(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::    DYN_GR_A_2(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::    ANL_GR_A_1(:,:)
-      REAL(KIND=KIND_EVOD) ,ALLOCATABLE ::    ANL_GR_A_2(:,:)
-
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: XLON(:,:),XLAT(:,:)
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: COSZDG(:,:)
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: sfalb(:,:)
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: HPRIME(:,:,:)
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: SWH(:,:,:),HLW(:,:,:)
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: FLUXR(:,:,:)
-!!
-
-!     REAL(KIND=KIND_RAD) ,ALLOCATABLE :: phy_f3d(:,:,:,:,:)
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: phy_f3d(:,:,:,:)
-      REAL(KIND=KIND_RAD) ,ALLOCATABLE :: phy_f2d(:,:,:)
-
-!JFE  REAL(KIND=KIND_EVOD) ,ALLOCATABLE :: LBASIY(:,:,:)
-!JFE  REAL(KIND=KIND_EVOD) ,ALLOCATABLE :: PHI(:)
-!JFE  REAL(KIND=KIND_EVOD) ,ALLOCATABLE :: DPHI(:)
-!JFE  REAL(KIND=KIND_EVOD) ,ALLOCATABLE :: DLAM(:),LAMEXT(:,:),LAM(:,:)
-!JFE  REAL(KIND=KIND_EVOD) ,ALLOCATABLE :: LAMMP(:,:,:)
-!JFE  REAL(KIND=KIND_EVOD) ,ALLOCATABLE :: PHIMP(:,:,:)
-!JFE  REAL(KIND=KIND_EVOD) ,ALLOCATABLE :: SIGMP(:,:,:)
-!!
-! FOR  OZONE PRODUCTION AND DISTRUCTION RATES:(INPUT THROU FIXIO_R)
-      INTEGER LEV,LEVMAX
-!!$$$      PARAMETER (LATS18=18, LEV46=46)
-!!$$$      REAL POZ(LEV46),PHOUR
-!!$$$      REAL OZPRDIN(LATS18,LEV46,36) !OZON PRODUCTION RATE
-!!$$$      REAL OZDISIN(LATS18,LEV46,36) !OZON DISTUCTION RATE
-      real phour
-      INTEGER :: KFHOUR
-      real, allocatable  :: poz(:),ozplin(:,:,:,:)
-!     FOR OZONE INTERPOLATION:
-      INTEGER,ALLOCATABLE:: JINDX1(:),JINDX2(:)
-!
-      REAL (KIND=KIND_PHYS) PDRYINI
-      REAL,ALLOCATABLE:: DDY(:)
-      REAL(KIND=KIND_EVOD) SLAG,SDEC,CDEC
-!!
-!JFE  INTEGER,ALLOCATABLE :: LATSINPE(:)
-!JFE  INTEGER,ALLOCATABLE :: LATLOCAL(:,:)
-
-      INTEGER              INIT,JCOUNT,JPT,NODE
-      INTEGER              IBMSIGN
-      INTEGER              LON_DIM,ILAT
-
-      real(kind=kind_evod) colat1
-!!
-      REAL(KIND=KIND_EVOD) RONE
-      REAL(KIND=KIND_EVOD) RLONS_LAT
-      REAL(KIND=KIND_EVOD) SCALE_IBM
-
-      INTEGER   P_GZ,P_ZEM,P_DIM,P_TEM,P_RM,P_QM
-      INTEGER   P_ZE,P_DI,P_TE,P_RQ,P_Q,P_DLAM,P_DPHI,P_ULN,P_VLN
-      INTEGER   P_W,P_X,P_Y,P_RT,P_ZQ
-!C                                            OLD COMMON /COMFSPEC/
-!!$$$      PARAMETER(P_GZ  = 0*LEVS+0*LEVH+1,  !      GZE/O(LNTE/OD,2),
-!!$$$     X          P_ZEM = 0*LEVS+0*LEVH+2,  !     ZEME/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_DIM = 1*LEVS+0*LEVH+2,  !     DIME/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_TEM = 2*LEVS+0*LEVH+2,  !     TEME/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_RM  = 3*LEVS+0*LEVH+2,  !      RME/O(LNTE/OD,2,LEVH),
-!!$$$     X          P_QM  = 3*LEVS+1*LEVH+2,  !      QME/O(LNTE/OD,2),
-!!$$$     X          P_ZE  = 3*LEVS+1*LEVH+3,  !      ZEE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_DI  = 4*LEVS+1*LEVH+3,  !      DIE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_TE  = 5*LEVS+1*LEVH+3,  !      TEE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_RQ  = 6*LEVS+1*LEVH+3,  !      RQE/O(LNTE/OD,2,LEVH),
-!!$$$     X          P_Q   = 6*LEVS+2*LEVH+3,  !       QE/O(LNTE/OD,2),
-!!$$$     X          P_DLAM= 6*LEVS+2*LEVH+4,  !  DPDLAME/O(LNTE/OD,2),
-!!$$$     X          P_DPHI= 6*LEVS+2*LEVH+5,  !  DPDPHIE/O(LNTE/OD,2),
-!!$$$     X          P_ULN = 6*LEVS+2*LEVH+6,  !     ULNE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_VLN = 7*LEVS+2*LEVH+6,  !     VLNE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_W   = 8*LEVS+2*LEVH+6,  !       WE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_X   = 9*LEVS+2*LEVH+6,  !       XE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_Y   =10*LEVS+2*LEVH+6,  !       YE/O(LNTE/OD,2,LEVS),
-!!$$$     X          P_RT  =11*LEVS+2*LEVH+6,  !      RTE/O(LNTE/OD,2,LEVH),
-!!$$$     X          P_ZQ  =11*LEVS+3*LEVH+6)  !      ZQE/O(LNTE/OD,2)
-
-      INTEGER                LOTS,LOTD,LOTA
-
-!!$$$      PARAMETER            ( LOTS = 5*LEVS+1*LEVH+3 )
-!!$$$      PARAMETER            ( LOTD = 6*LEVS+2*LEVH+0 )
-!!$$$      PARAMETER            ( LOTA = 3*LEVS+1*LEVH+1 )
-
-      INTEGER              IBRAD,IFGES,IHOUR,INI,J,JDT,KSOUT,MAXSTP
-      INTEGER              mdt,idt,timetot,timer,time0
-      INTEGER              MODS,N1,N2,N3,N4,NDGF,NDGI,NFILES,NFLPS
-      INTEGER              n1hyb, n2hyb
-      INTEGER              NGES,NGPKEN,NITER,NNMOD,NRADF,NRADR
-      INTEGER              NSFCF,NSFCI,NSFCS,NSIGI,NSIGS,NSTEP
-!     INTEGER              NZNLF,NZNLI,NZNLS,ID,IRET,NSOUT
-      INTEGER              NZNLF,NZNLI,NZNLS,ID,IRET,NSOUT,kdt_switch
-
-      INTEGER              IERR,IPRINT,K,L,LOCL,N
-      INTEGER              LAN,LAT
-
-      REAL(KIND=KIND_EVOD) CHOUR
-      REAL(KIND=KIND_EVOD) zhour
-      LOGICAL LSOUT
-      LOGICAL SPS
-!DHOU 05/28/2008, add SPS for applying stochastic or not
-      INTEGER HOUTASPS
-!DHOU 09/08/2008, add HOUTASPS for time (iintegration hour) of output after SPS
-
-      REAL(KIND=KIND_EVOD),ALLOCATABLE :: TEE1(:)
-
-!JFE  REAL(KIND=KIND_EVOD) PHIBS,DPHIBR
-
-!!$$$      INTEGER              INDLSEV,JBASEV
-!!$$$      INTEGER              INDLSOD,JBASOD
-
-
-      INTEGER ikey,nrank_all,kcolor
-
-      REAL(KIND=KIND_EVOD) CONS0P5,CONS1200,CONS3600    !CONSTANT
-      REAL(KIND=KIND_EVOD) CONS0                        !CONSTANT
-
-      LOGICAL LSLAG
-
- END TYPE GFS_InternalState
-
-! This state is supported by C pointer not F90 pointer, thus
-! need this wrap.
-!-----------------------------------------------------------
-    TYPE GFS_wrap
-         TYPE (GFS_InternalState), POINTER :: gis
-     END TYPE GFS_wrap
-
- END MODULE GFS_InternalState_module

Added: branches/atmos_physics_gfs/src/core_atmos_physics_gfs/gfsmisc_def.f
===================================================================
--- branches/atmos_physics_gfs/src/core_atmos_physics_gfs/gfsmisc_def.f                                (rev 0)
+++ branches/atmos_physics_gfs/src/core_atmos_physics_gfs/gfsmisc_def.f        2012-05-10 23:43:50 UTC (rev 1896)
@@ -0,0 +1,28 @@
+      module gfsmisc_def
+      use machine
+
+      implicit none
+      save
+
+      logical, parameter    :: fix_ncld_hr=.true.
+      integer, parameter    :: nrcmax=30 ! Maximum number of random clouds per 1200s
+      real,    parameter    :: rlapse=0.65e-2, omz1=10.0
+
+      real (kind=kind_ior)  :: CONS0, CONS0P5, CONS1200, CONS3600
+      real (kind=kind_phys) :: pdryini
+      real (kind=kind_evod) :: phour,zhour,deltim
+      real (kind=kind_evod) :: slag,sdec,cdec,batah
+      integer               :: kdt,iret,iprint,MAXSTP
+      logical               :: lsout
+
+      integer,  allocatable :: lonsperlar(:),global_lats_r(:)
+      integer,  allocatable :: jindx1(:),jindx2(:)
+      real,     allocatable :: ozplin(:,:,:,:)     !OZONE PL Coeff
+      real (kind=kind_rad), allocatable ::  xlat(:,:), xlon(:,:),
+     &amp;     coszdg(:,:), hprime(:,:,:), fluxr(:,:,:), sfalb(:,:), 
+     &amp;     swh(:,:,:), hlw(:,:,:),
+     &amp;     sinlat_r2(:,:),coslat_r2(:,:)
+      real (kind=kind_phys), allocatable :: phy_f3d(:,:,:,:), 
+     &amp;     phy_f2d(:,:,:), ddy(:), fscav(:)
+
+      end module gfsmisc_def


Property changes on: branches/atmos_physics_gfs/src/core_atmos_physics_gfs/gfsmisc_def.f
___________________________________________________________________
Added: svn:executable
   + *

</font>
</pre>