Ignore:
Timestamp:
May 5, 2014, 11:38:51 AM (11 years ago)
Author:
aslmd
Message:

MESOSCALE. A necessary complement commit to r1234 where a upgraded interface making use of modules was proposed. Completed the new formulation for module_lmd_driver for newphys with improved interface with both ini/bdy conditions and physical parameterizations. Changed the Registry accordingly. Finished changes about I/O with the LMD physics (see LMDZ.MARS/README). Made all those changes compatible for old interface, and LES runs (checked with test cases), as well as old input files. Changed makemeso to account for full flexibility on changin nx ny ntracers nproc with newphys. Cleaned the now obsolete bits of code used in LMD physics shared with the GCM. ----- Everything is now ready to properly code both restart runs and nesting for mesoscale runs with new physics.

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

Legend:

Unmodified
Added
Removed
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/LMD_LES_MARS_install

    r1235 r1236  
    6565cd Registry
    6666ln -sf ../modif_mars/Registry.EM .
     67ln -sf ../modif_mars/Registry.EM.newphys .
    6768ln -sf ../modif_mars/Registry.bash .
    6869cd ..
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/Registry.EM

    r774 r1236  
    217217#### variables dans wrf
    218218####
    219 state  real   albedo_gcm      ij   misc  1  -  i012rd  "MARS_ALB"    "albedo of naked ground"  "0 - 1 fraction"
    220 state  real   therm_inert     ij   misc  1  -  i012rd  "MARS_TI"     "thermal inertia"         "J/m2/K/s0.5"
    221 state  real   mars_z0         ij   misc  1  -  i012rd  "MARS_Z0"     "surface roughness"       "m"
    222 state  real   slpx            ij   misc  1  -  i012rd  "SLOPEX"      "slope x direction"       "rad"
    223 state  real   slpy            ij   misc  1  -  i012rd  "SLOPEY"      "slope y direction"       "rad"
    224 state  real   mars_emiss      ij   misc  1  -  i012rd  "MARS_EMISS"  "emissivity"              "0 - 1 fraction"
    225 state  real   mars_cice       ij   misc  1  -  i012rd  "MARS_CICE"   "co2 ice"                 "kg"
    226 state  real   mars_wice       ij   misc  1  -  i012rd  "MARS_WICE"   "h2o ice"                 "kg/m2"
    227 state  real   mars_tsurf      ij   misc  1  -  i012rd  "MARS_TSURF"   "surface temperature" "K"
    228 state  real   mars_fluxrad    ij   misc  1  -  i012rd  "MARS_FLUXRAD" "net rad flux at surf"     "W.m-2"
    229 state  real   mars_wstar      ij   misc  1  -  i012rd  "MARS_WSTAR"   "free convection velocity" "m.s-1"
    230 state  real   mars_tsoil     ilj   misc  1  -  i012rd  "MARS_TSOIL"   "soil temperatures"        "K"
    231 state  real   mars_q2        ikj   misc  1  Z  i012rd  "MARS_Q2"      "turbulent kinetic energy" "kg.m-3"
    232 state  real   mars_isoil     ilj   misc  1  -  i012rd  "MARS_ISOIL"  "soil thermal inertia"    "tiu"
    233 state  real   mars_dsoil     ilj   misc  1  -  i012rd  "MARS_DSOIL"  "soil depths"             "m"
    234 state  real   mars_gw        ilj   misc  1  -  i012rd  "MARS_GW"     "gwparam"                 " "
     219#### 'm_' prefix is to avoid redundancies with possible existing terrestrial variables
     220####
     221####          vvvv nom pour module_initialize, solve_em, lmd_driver (interne fortran)
     222####                                                vvvv nom fichier netCDF (important initialisation
     223################################################################################################################
     224state  real   m_albedo     ij   misc  1  -  i012rd  "MARS_ALB"     "albedo of naked ground"   "0 - 1 fraction"
     225state  real   m_ti         ij   misc  1  -  i012rd  "MARS_TI"      "thermal inertia"          "J/m2/K/s0.5"
     226state  real   m_z0         ij   misc  1  -  i012rd  "MARS_Z0"      "surface roughness"        "m"
     227state  real   slpx         ij   misc  1  -  i012rd  "SLOPEX"       "slope x direction"        "rad"
     228state  real   slpy         ij   misc  1  -  i012rd  "SLOPEY"       "slope y direction"        "rad"
     229state  real   m_emiss      ij   misc  1  -  i012rd  "MARS_EMISS"   "emissivity"               "0 - 1 fraction"
     230state  real   m_co2ice     ij   misc  1  -  i012rd  "MARS_CICE"    "co2 ground ice"           "kg/m2"
     231state  real   m_h2oice     ij   misc  1  -  i012rd  "MARS_WICE"    "h2o ground ice"           "kg/m2"
     232state  real   m_fluxrad    ij   misc  1  -  i012rd  "MARS_FLUXRAD" "net rad flux at surf"     "W.m-2"
     233state  real   m_wstar      ij   misc  1  -  i012rd  "MARS_WSTAR"   "free convection velocity" "m.s-1"
     234state  real   m_tsurf      ij   misc  1  -  i012rd  "MARS_TSURF"   "surface temperature"      "K"
     235state  real   m_tsoil     ilj   misc  1  -  i012rd  "MARS_TSOIL"   "soil temperatures"        "K"
     236state  real   m_q2        ikj   misc  1  Z  i012rd  "MARS_Q2"      "parameterized TKE"        "kg.m-3"
     237state  real   m_isoil     ilj   misc  1  -  i012rd  "MARS_ISOIL"   "soil thermal inertia"     "tiu"
     238state  real   m_dsoil     ilj   misc  1  -  i012rd  "MARS_DSOIL"   "soil depths"              "m"
     239state  real   m_gw        ilj   misc  1  -  i012rd  "MARS_GW"      "gwparam"                  " "
    235240####
    236241####
    237242####MARS MARS MARS MARS MARS
    238243####MARS MARS MARS MARS MARS
    239 
    240 
    241244
    242245#-----------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    348351##
    349352state    real   ptot           ikj     dyn_em      1         -      irh       "PTOT"        "total pressure"      "Pa"
    350 ####### if you choose h here, you will probably want not to output u,v,w,t,etc...
    351 state    real   uave           ikj     dyn_em      1         -      ir       "UAVE"        "average zonal wind"  "m/s"
    352 state    real   ustd           ikj     dyn_em      1         -      ir       "USTD"        "std dev zonal wind"  "m/s"
    353 state    real   vave           ikj     dyn_em      1         -      ir       "VAVE"        "average meridional wind"  "m/s"
    354 state    real   vstd           ikj     dyn_em      1         -      ir       "VSTD"        "std dev meridional wind"  "m/s"
    355 state    real   wave           ikj     dyn_em      1         -      ir       "WAVE"        "average vertical wind"  "m/s"
    356 state    real   wstd           ikj     dyn_em      1         -      ir       "WSTD"        "std dev vertical wind"  "m/s"
    357 state    real   tave           ikj     dyn_em      1         -      ir       "TAVE"        "average pert. potential temperature"  "K"
    358 state    real   tstd           ikj     dyn_em      1         -      ir       "TSTD"        "std dev pert. potential temperature"  "K"
    359 #######
    360 ## ajouter tk, ptot, phtot ??? les deux derniers sont assez smooth...
    361353
    362354#                                               
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_first_rk_step_part1.F

    r774 r1236  
    574574         CALL lmd_driver(                                                 &
    575575           ! structure
    576      &         id=grid%id,max_dom=grid%max_dom                            &
    577      &        ,DT=grid%dt                                                 &
     576     &         id=grid%id,max_dom=grid%max_dom      &
     577     &        ,DT=grid%dt                   &
    578578     &        ,ITIMESTEP=grid%itimestep                                   &
    579579           ! position
     
    585585     &        ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde          &
    586586     &        ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme          &
    587 !     &        ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe          &
    588      &        ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1)          &
    589      &        ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1)          &
    590      &        ,KTS=k_start, KTE=min(k_end,kde-1)                          &
     587     &        ,i_start=grid%i_start,i_end=min(grid%i_end, ide-1)          &
     588     &        ,j_start=grid%j_start,j_end=min(grid%j_end, jde-1)          &
     589     &        ,kts=k_start, kte=min(k_end,kde-1)                          &
    591590     &        ,num_tiles=grid%num_tiles                                   &
    592591           ! time variables
     
    600599                        ! ... (cf phy_prep in module_big_step_utilities_em)
    601600     &        ,HT=grid%ht                                                 &
    602      &        ,U=u_phy            ,V=v_phy,         W=w_phy               &
     601     &        ,U=u_phy            ,V=v_phy             ,W=w_phy           &
    603602     &        ,TH=th_phy          ,T=t_phy                                &
    604603     &        ,P=p_phy            ,EXNER=pi_phy               ,RHO=rho    &
     
    606605     &        ,PTOP=grid%p_top                                            &
    607606           ! physics calls
    608      &        ,RADT=grid%radt                                             &
    609      &        ,CUDT=grid%cudt                                             &
     607     &        ,RADT=grid%radt                          &
     608     &        ,CUDT=grid%cudt                          &
    610609           ! surface temperature and surface pressure
    611610     &        ,TSK=grid%tsk,PSFC=grid%psfc                                &
    612611           ! tendencies for the dynamics
    613      &        ,RTHBLTEN=grid%rthblten,RUBLTEN=grid%rublten,RVBLTEN=grid%rvblten    &
     612     &        ,RTHBLTEN=grid%rthblten  ,RUBLTEN=grid%rublten,RVBLTEN=grid%rvblten    &
    614613           ! scalars
    615614!     &        ,NUM_3D_S=num_3d_s,SCALAR=grid%scalar                       &
    616615     &        ,NUM_3D_S=num_scalar,SCALAR=grid%scalar                      &
    617616           ! mode
    618      &        ,MARS_MODE=config_flags%mars                                &
     617     &        ,MARS_MODE=config_flags%mars   &
    619618           ! added variables
    620      &        ,MARS_ALB=grid%albedo_gcm,MARS_TI=grid%therm_inert          &
    621      &        ,MARS_CICE=grid%mars_cice,MARS_EMISS=grid%mars_emiss        &
    622      &        ,MARS_WICE=grid%mars_wice         &
    623      &        ,MARS_TSOIL=grid%mars_tsoil                                 &
    624      &        ,MARS_Q2=grid%mars_q2                                       &
    625      &        ,MARS_TSURF=grid%mars_tsurf                                 &
     619     &        ,M_ALBEDO=grid%m_albedo,M_TI=grid%m_ti  &
     620     &        ,M_CO2ICE=grid%m_co2ice,M_EMISS=grid%m_emiss   & 
     621     &        ,M_H2OICE=grid%m_h2oice     &
     622     &        ,M_TSOIL=grid%m_tsoil       &
     623     &        ,M_Q2=grid%m_q2             &
     624     &        ,M_TSURF=grid%m_tsurf       &
    626625#ifdef NEWPHYS
    627      &        ,MARS_FLUXRAD=grid%mars_fluxrad                             &
    628      &        ,MARS_WSTAR=grid%mars_wstar                                 &
    629      &        ,MARS_ISOIL=grid%mars_isoil       &
    630      &        ,MARS_DSOIL=grid%mars_dsoil       &
    631      &        ,MARS_Z0=grid%mars_z0             &
     626     &        ,M_FLUXRAD=grid%m_fluxrad   &
     627     &        ,M_WSTAR=grid%m_wstar       &
     628     &        ,M_ISOIL=grid%m_isoil       &
     629     &        ,M_DSOIL=grid%m_dsoil       &
     630     &        ,M_Z0=grid%m_z0             &
    632631     &        ,CST_Z0=config_flags%init_Z0      &
    633632#endif
    634      &        ,MARS_GW=grid%mars_gw                                       &
    635      &        ,NUM_SOIL_LAYERS=config_flags%num_soil_layers               &
     633     &        ,M_GW=grid%m_gw  & 
     634     &        ,NUM_SOIL_LAYERS=config_flags%num_soil_layers    &
    636635           ! cst fields
    637      &        ,CST_AL=config_flags%init_AL                                &
    638      &        ,CST_TI=config_flags%init_TI                                &
    639      &        ,ISFFLX=config_flags%isfflx                                 &
    640      &        ,DIFF_OPT=config_flags%diff_opt                             &
    641      &        ,KM_OPT=config_flags%km_opt                                 &
    642            ! additional diagnostics
    643 !     &        ,UAVE=grid%em_uave, USTD=grid%em_ustd &
    644 !     &        ,VAVE=grid%em_vave, VSTD=grid%em_vstd &
    645 !     &        ,WAVE=grid%em_wave, WSTD=grid%em_wstd &
    646 !     &        ,TAVE=grid%em_tave, TSTD=grid%em_tstd &
    647      &        ,UAVE=grid%uave, USTD=grid%ustd &
    648      &        ,VAVE=grid%vave, VSTD=grid%vstd &
    649      &        ,WAVE=grid%wave, WSTD=grid%wstd &
    650      &        ,TAVE=grid%tave, TSTD=grid%tstd &
     636     &        ,CST_AL=config_flags%init_AL  &
     637     &        ,CST_TI=config_flags%init_TI  &
     638     &        ,ISFFLX=config_flags%isfflx   &
     639     &        ,DIFF_OPT=config_flags%diff_opt     &
     640     &        ,KM_OPT=config_flags%km_opt         &
    651641     &        ,HISTORY_INTERVAL=model_config_rec%history_interval(1)  &
    652642#ifndef NOPHYS
     
    654644          ! OUTPUT VARIABLES !
    655645          !------------------!
     646#ifdef NEWPHYS
     647     &       ,HR_SW=grid%HR_SW   &
     648     &       ,HR_LW=grid%HR_LW   &
     649     &       ,SWDOWNZ=grid%SWDOWNZ   &
     650     &       ,TAU_DUST=grid%TAU_DUST   &
     651     &       ,RDUST=grid%RDUST   &
     652     &       ,QSURFDUST=grid%QSURFDUST   &
     653     &       ,MTOT=grid%MTOT   &
     654     &       ,ICETOT=grid%ICETOT   &
     655     &       ,VMR_ICE=grid%VMR_ICE   &
     656     &       ,TAU_ICE=grid%TAU_ICE   &
     657     &       ,RICE=grid%RICE   &
     658     &       ,ZMAX=grid%ZMAX   &
     659     &       ,HFMAX=grid%HFMAX &
     660     &       ,USTM=grid%USTM   &
     661     &       ,HFX=grid%HFX &
     662#else
    656663#include "module_lmd_driver_output4.inc"
     664#endif
    657665#endif
    658666     &        ,SLPX=grid%slpx,SLPY=grid%slpy,RESTART=config_flags%restart)
    659667ENDIF
     668
    660669!!!!!!!!!!!!!!!!!!!!!!!
    661670! call to LMD physics !
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F

    r774 r1236  
    335335!!MARS
    336336    grid%ht(i,j) = alt_input
    337     grid%tsk(i,j) = tsurf_input
     337    grid%m_tsurf(i,j) = tsurf_input
    338338!!MARS
    339339    grid%xlat(i,j) = lat_input !+ float(j)*config_flags%dy/59000.
    340340    grid%xlong(i,j) = lon_input !+ float(i)*config_flags%dx/59000.
    341     grid%mars_emiss(i,j)=0.95
    342     grid%mars_cice(i,j)=0.
    343     grid%mars_wice(i,j)=0.
     341    grid%m_emiss(i,j)=0.95
     342    grid%m_co2ice(i,j)=0.
     343    grid%m_h2oice(i,j)=0.
    344344!! >> Used for restarts only:
    345     grid%mars_q2(i,:,j)=0.
    346     grid%mars_fluxrad(i,j)=0.
    347     grid%mars_wstar(i,j)=0.
    348     grid%mars_tsurf(i,j)=0.
     345    grid%m_q2(i,:,j)=0.
     346    grid%m_fluxrad(i,j)=0.
     347    grid%m_wstar(i,j)=0.
    349348!! <<
    350349    grid%slpx(i,j) = 0.
    351350    grid%slpy(i,j) = 0.
    352351   DO k=1,config_flags%num_soil_layers
    353     grid%mars_tsoil(i,k,j) = 0.
     352    grid%m_tsoil(i,k,j) = 0.
    354353   ENDDO
    355     grid%mars_gw(i,1,j) = 0.
    356     grid%mars_gw(i,2,j) = 0.
    357     grid%mars_gw(i,3,j) = 0.
    358     grid%mars_gw(i,4,j) = 0.
    359     grid%mars_gw(i,5,j) = 0.
     354    grid%m_gw(i,1,j) = 0.
     355    grid%m_gw(i,2,j) = 0.
     356    grid%m_gw(i,3,j) = 0.
     357    grid%m_gw(i,4,j) = 0.
     358    grid%m_gw(i,5,j) = 0.
    360359!!MARS
    361360  ENDDO
Note: See TracChangeset for help on using the changeset viewer.