Ignore:
Timestamp:
Sep 6, 2012, 1:12:13 AM (12 years ago)
Author:
aslmd
Message:

MESOSCALE. LES. simplified modifications in previous revision to make those compliant with common module_lmd_driver between LES and MESOSCALE

Location:
trunk/MESOSCALE/LMD_MM_MARS/SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/Registry.EM

    r772 r774  
    114114state  real  QH2O      ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "QH2O"       "Water vapor mixing ratio"   "kg kg-1"
    115115state  real  QH2O_ICE  ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "QH2O_ICE"   "Water ice mixing ratio"     "kg kg-1"
    116 state  real  qdust     ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "qdust"      "Dust mixing ratio"          "kg kg-1"
    117 state  real  qndust    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "qndust"     "Dust number density"        " m-3 "
     116state  real  qdust     ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "QDUST"      "Dust mixing ratio"          "kg kg-1"
     117state  real  qdustn    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "QDUSTN"     "Dust number density"        " m-3 "
    118118state  real  qtrac1    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "qtrac1"     "Decaying tracer 1"          "kg kg-1"
    119119state  real  upward    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "upward"     "Decaying tracer surf"       "kg kg-1"
     
    233233state  real   mars_dsoil     ilj   misc  1  -  i012rd  "MARS_DSOIL"  "soil depths"             "m"
    234234state  real   mars_gw        ilj   misc  1  -  i012rd  "MARS_GW"     "gwparam"                 " "
    235 state  real   mars_qdust     ikj   misc  1  -  i012rd  "MARS_QDUST"   "dust mass mixing ratio" "kg/kg"
    236 state  real   mars_qndust    ikj   misc  1  -  i012rd  "MARS_QNDUST"   "dust number density"    " "
    237235####
    238236####
     
    14991497package   water        mars==1                      -              moist:qv;scalar:qh2o,qh2o_ice
    15001498package   dust         mars==2                      -              moist:qv;scalar:qdust
    1501 package   dust2eq      mars==3                      -              scalar:qdust,qndust
     1499package   dust2eq      mars==3                      -              scalar:qdust,qdustn
    15021500package   radioac      mars==20                     -              scalar:qtrac1
    15031501package   radioac2     mars==21                     -              scalar:upward,downward
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_first_rk_step_part1.F

    r772 r774  
    631631     &        ,MARS_Z0=grid%mars_z0             &
    632632     &        ,CST_Z0=config_flags%init_Z0      &
    633      &        ,MARS_QDUST=grid%mars_qdust       &
    634      &        ,MARS_QNDUST=grid%mars_qndust     &
    635633#endif
    636634     &        ,MARS_GW=grid%mars_gw                                       &
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F

    r772 r774  
    115115 REAL :: lon_input, lat_input, alt_input, tsurf_input
    116116 ! for mode 3
    117  LOGICAL :: MARS_MODE_INIT
    118  REAL, DIMENSION(nl_max) :: qdust,qndust,dust_p_level
     117 REAL, DIMENSION(nl_max) :: profdustq,profdustn,dust_p_level
    119118!!MARS
    120119
     
    349348    grid%mars_tsurf(i,j)=0.
    350349!! <<
    351 !! >> Used for mode 3:
    352     grid%mars_qdust(i,:,j)=0.
    353     grid%mars_qndust(i,:,j)=0.
    354 !! <<
    355350    grid%slpx(i,j) = 0.
    356351    grid%slpy(i,j) = 0.
     
    764759
    765760!!!!! MARS INITIALIZE MODE 3 FOR LES
    766 
    767761!! RESTART=config_flags%restart -> this routine is not used in restart
    768762
    769   MARS_MODE_INIT=config_flags%mars
    770 
    771   IF (MARS_MODE_INIT .EQ. 3)  THEN
     763  IF ( ( config_flags%mars == 3 ) ) then
     764
    772765  write (*,*) 'MARS MODE 3 INITIALIZATION, READING INPUT_DUST (module_initialize_les.F)'
    773766    ! load a profile of dust (same for all points)
    774     call read_dust(qdust,qndust,dust_p_level,nl_in)
     767    call read_dust(profdustq,profdustn,dust_p_level,nl_in)
    775768    p_level = grid%znu(1)*(pd_surf - grid%p_top) + grid%p_top
    776769      IF (dust_p_level(1) .lt. p_level) then !input profile needs rescaling to avoid a plateau. This happens when you use different sources to initialize the pressure of the LES and the input_dust. Typicaly: you use the MCD for input_therm and different runs for input_dust, that dont have the same surface pressure ! This trick is ok because we dont want to initialize with a very precise profile of dust, just a realistic one.
     
    779772     DO k=1,kte-1
    780773         p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top
    781          grid%mars_qdust(its:ite,k,jts:jte)=interp_0( qdust, dust_p_level, p_level, nl_in )
    782          grid%mars_qndust(its:ite,k,jts:jte)=interp_0( qndust, dust_p_level, p_level, nl_in )
     774         print *, '**** INTERPOLATE DUSTQ **** RANK 2 in SCALAR'
     775         scalar(its:ite,k,jts:jte,2) = interp_0( profdustq, dust_p_level, p_level, nl_in )
     776         print *, '**** INTERPOLATE DUSTN **** RANK 3 in SCALAR'
     777         scalar(its:ite,k,jts:jte,3) = interp_0( profdustn, dust_p_level, p_level, nl_in )
    783778     ENDDO
    784779  ENDIF
     
    10411036
    10421037!!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
    1043       subroutine read_dust(qdust,qndust,dust_p_level,n)
     1038      subroutine read_dust(pdustq,pdustn,dust_p_level,n)
    10441039      implicit none
    10451040      integer n
    1046       real qdust(n),qndust(n),dust_p_level(n)
     1041      real pdustq(n),pdustn(n),dust_p_level(n)
    10471042      logical end_of_file
    10481043
     
    10571052      do while (.not. end_of_file)
    10581053
    1059         read(11,*,end=102) qdust(k+1), qndust(k+1), dust_p_level(k+1)
    1060         write(*,*) k, qdust(k+1), qndust(k+1), dust_p_level(k+1)
     1054        read(11,*,end=102) pdustq(k+1),pdustn(k+1), dust_p_level(k+1)
     1055        write(*,*) k, pdustq(k+1), pdustn(k+1), dust_p_level(k+1)
    10611056        k = k+1
    10621057        go to 113
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F

    r772 r774  
    4141        MARS_Z0, &
    4242        CST_Z0, &
    43         MARS_QDUST, &
    44         MARS_QNDUST, &
    4543#endif
    4644        MARS_GW, &
     
    146144REAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT   )  :: &
    147145     MARS_FLUXRAD,MARS_WSTAR
    148 REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(IN   )  :: &
    149      MARS_QDUST, MARS_QNDUST
    150146#endif
    151147REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN   )  :: &
     
    868864!--------------------------------!
    869865#ifdef NEWPHYS
    870 !!! Initialize SCALAR for MODE 3.
    871 IF ((MARS_MODE .EQ. 3) .and. (firstcall .EQV. .true.) .and. (.not. restart)) THEN
    872      SCALAR(i,kps:kpe,j,2)=MARS_QDUST(i,kps:kpe,j)
    873      SCALAR(i,kps:kpe,j,3)=MARS_QNDUST(i,kps:kpe,j)
    874 ENDIF
    875866IF (MARS_MODE .EQ. 0) THEN
    876867    q_prof(:,1)=0.95
Note: See TracChangeset for help on using the changeset viewer.