Ignore:
Timestamp:
Sep 5, 2012, 5:12:50 PM (13 years ago)
Author:
acolaitis
Message:

LES. Reorganized mode 3. dust_profile is now read by ideal.exe and stored in mars_qdust and mars_qndust. Added -mcmodel for large executable in the debug options of makegcm.

Location:
trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars
Files:
3 edited

Legend:

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

    r766 r772  
    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"
     116state  real  qdust     ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "qdust"      "Dust mixing ratio"          "kg kg-1"
     117state  real  qndust    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "qndust"     "Dust number density"        " m-3 "
    117118state  real  qtrac1    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "qtrac1"     "Decaying tracer 1"          "kg kg-1"
    118119state  real  upward    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "upward"     "Decaying tracer surf"       "kg kg-1"
     
    232233state  real   mars_dsoil     ilj   misc  1  -  i012rd  "MARS_DSOIL"  "soil depths"             "m"
    233234state  real   mars_gw        ilj   misc  1  -  i012rd  "MARS_GW"     "gwparam"                 " "
     235state  real   mars_qdust     ikj   misc  1  -  i012rd  "MARS_QDUST"   "dust mass mixing ratio" "kg/kg"
     236state  real   mars_qndust    ikj   misc  1  -  i012rd  "MARS_QNDUST"   "dust number density"    " "
    234237####
    235238####
     
    14961499package   water        mars==1                      -              moist:qv;scalar:qh2o,qh2o_ice
    14971500package   dust         mars==2                      -              moist:qv;scalar:qdust
     1501package   dust2eq      mars==3                      -              scalar:qdust,qndust
    14981502package   radioac      mars==20                     -              scalar:qtrac1
    14991503package   radioac2     mars==21                     -              scalar:upward,downward
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_first_rk_step_part1.F

    r678 r772  
    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     &
    633635#endif
    634636     &        ,MARS_GW=grid%mars_gw                                       &
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F

    r674 r772  
    114114!!MARS
    115115 REAL :: lon_input, lat_input, alt_input, tsurf_input
     116 ! for mode 3
     117 LOGICAL :: MARS_MODE_INIT
     118 REAL, DIMENSION(nl_max) :: qdust,qndust,dust_p_level
    116119!!MARS
    117120
     
    346349    grid%mars_tsurf(i,j)=0.
    347350!! <<
     351!! >> Used for mode 3:
     352    grid%mars_qdust(i,:,j)=0.
     353    grid%mars_qndust(i,:,j)=0.
     354!! <<
    348355    grid%slpx(i,j) = 0.
    349356    grid%slpy(i,j) = 0.
     
    690697  print *, 'constant meridional wind ', config_flags%init_V
    691698ENDIF
     699
    692700!!!MARS MARS
    693701
     
    754762  ENDDO
    755763  ENDDO
     764
     765!!!!! MARS INITIALIZE MODE 3 FOR LES
     766
     767!! RESTART=config_flags%restart -> this routine is not used in restart
     768
     769  MARS_MODE_INIT=config_flags%mars
     770
     771  IF (MARS_MODE_INIT .EQ. 3)  THEN
     772  write (*,*) 'MARS MODE 3 INITIALIZATION, READING INPUT_DUST (module_initialize_les.F)'
     773    ! load a profile of dust (same for all points)
     774    call read_dust(qdust,qndust,dust_p_level,nl_in)
     775    p_level = grid%znu(1)*(pd_surf - grid%p_top) + grid%p_top
     776      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.
     777         dust_p_level = dust_p_level * p_level/dust_p_level(1)
     778     ENDIF
     779     DO k=1,kte-1
     780         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 )
     783     ENDDO
     784  ENDIF
     785
     786!!!!! MARS
     787
    756788
    757789 END SUBROUTINE init_domain_rk
     
    10081040      end subroutine read_therm
    10091041
     1042!!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
     1043      subroutine read_dust(qdust,qndust,dust_p_level,n)
     1044      implicit none
     1045      integer n
     1046      real qdust(n),qndust(n),dust_p_level(n)
     1047      logical end_of_file
     1048
     1049      integer k
     1050
     1051! first element is the surface
     1052
     1053      open(unit=11,file='input_dust',form='formatted',status='old')
     1054      rewind(11)
     1055      end_of_file = .false.
     1056      k = 0
     1057      do while (.not. end_of_file)
     1058
     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)
     1061        k = k+1
     1062        go to 113
     1063 102    end_of_file = .true.
     1064 113    continue
     1065      enddo
     1066
     1067      close(unit=11,status = 'keep')
     1068
     1069      end subroutine read_dust
     1070!!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
     1071
     1072
    10101073END MODULE module_initialize_ideal
Note: See TracChangeset for help on using the changeset viewer.