Ignore:
Timestamp:
Feb 19, 2011, 5:36:31 PM (14 years ago)
Author:
aslmd
Message:

LMD_MM_MARS: corrections pour runs cycle de l'eau. inclusion des traceurs de
surface [manquement grave au modele precedent] et importation depuis les runs
GCM. attention water ice est q(:,nqmx-1) mais surface water ice est
qsurf(:,nqmx).
NB: il reste a impacter ces changements pour le cas NEWPHYS

M 71 SRC/WRFV2/Registry/Registry.EM
M 71 SRC/WRFV2/dyn_em/module_initialize_real.F
M 71 SRC/WRFV2/dyn_em/solve_em.F
M 71 SRC/WRFV2/dyn_em/module_initialize_quarter_ss.F
M 71 SRC/WRFV2/phys/module_lmd_driver.F
M 71 SRC/WRFV2/mars_lmd/libf/phymars/meso_physiq.F
Modifies pour initialiser, calculer et sortir qsurf dans le cas mars=2
[cycle de l'eau avec deux traceurs vapour et ice]

M 71 SRC/PREP_MARS/readmeteo.F90
M 71 SRC/WPS/wps_mars/metgrid/METGRID.TBL.ARW_MarsBase
Routines d'initialisation modifiees pour qsurf.

D 71 SRC/PREP_MARS/readmeteo_newphys.F90
D 71 SRC/PREP_MARS/readmeteo.F90_backup
M 71 SRC/PREP_MARS/readmeteo.F90
A + - SRC/PREP_MARS/obsolete/readmeteo_newphys.F90
A + - SRC/PREP_MARS/obsolete/readmeteo.F90_backup
M 71 SRC/WPS/wps_mars/metgrid/METGRID.TBL.ARW_MarsBase_newphys
M 71 SRC/WPS/wps_mars/switch_WPS_Mars
Desormais les programmes "readmeteo" et "metgrid" fonctionnent
indifferemment de la physique LMD utilisee (ancienne ou nouvelle)
--> une seule version de reference
--> retrocompatible pour l'ancienne physique

(les parametres inconnus sont regles a des valeurs "dummy" et ne sont pas utilisees)

A 0 SIMU/deftank/dust
Ajout mineur de fichiers parametres mais qui sera utile pour le cycle de poussiere

Location:
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM

    r55 r72  
    8181####
    8282state  real  TSURF     ij   misc  1  -  rhd  "TSURF"     "SURF TEMPERATURE"                "K"       #SAVEMARS2 tsurf
    83 state  real  CO2ICE    ij   misc  1  -  rd   "CO2ICE"    "CO2 GROUND ICE"                  "kg"      #SAVEMARS2 co2ice
     83state  real  CO2ICE    ij   misc  1  -  rhd  "CO2ICE"    "CO2 GROUND ICE"                  "kg m-2"  #SAVEMARS2 co2ice
    8484state  real  EMISSIV   ij   misc  1  -  rd   "EMISSIV"   "EMISSIVITY"                      ""        #SAVEMARS2 emis
    8585state  real  THETA     ij   misc  1  -  rd   "THETA"     "SLOPE INCLINATION"               "deg"     #SAVEMARS2 theta_sl
     
    9090state  real  SWUP      ij   misc  1  -  rd   "SWUP"      "UPWARD SW FLUX AT TOP"           "W m-2"   #SAVEMARS2 fluxtop_sw_tot   
    9191state  real  LWUP      ij   misc  1  -  rd   "LWUP"      "UPWARD LW FLUX AT TOP"           "W m-2"   #SAVEMARS2 fluxtop_lw
    92 state  real  MTOT      ij   misc  1  -  rd   "MTOT"      "TOTAL MASS WATER VAPOR"          "kg m-2"  #SAVEMARS2 mtot
    93 state  real  ICETOT    ij   misc  1  -  rd   "ICETOT"    "TOTAL MASS WATER ICE"            "kg m-2"  #SAVEMARS2 icetot
    94 state  real  RAVE      ij   misc  1  -  rd   "RAVE"      "MEAN ICE RADIUS"                 "m"       #SAVEMARS2 rave
     92state  real  MTOT      ij   misc  1  -  rhd  "MTOT"      "TOTAL MASS WATER VAPOR"          "kg m-2"  #SAVEMARS2 mtot
     93state  real  ICETOT    ij   misc  1  -  rhd  "ICETOT"    "TOTAL MASS WATER ICE"            "kg m-2"  #SAVEMARS2 icetot
     94state  real  RAVE      ij   misc  1  -  rhd  "RAVE"      "MEAN ICE RADIUS"                 "m"       #SAVEMARS2 rave
    9595state  real  RICE      ikj  misc  1  -  rd   "RICE"      "ICE RADIUS"                      "m"       #SAVEMARS3 rice
    9696state  real  HR_SW     ikj  misc  1  -  rd   "HR_SW"     "HEATING RATE SW"                 "K/s"     #SAVEMARS3 zdtsw
    9797state  real  HR_LW     ikj  misc  1  -  rd   "HR_LW"     "HEATING RATE LW"                 "K/s"     #SAVEMARS3 zdtlw
    9898state  real  HR_SH     ikj  misc  1  -  rd   "HR_SH"     "HEATING RATE sens. heat"         "K/s"     #SAVEMARS3 zdtdif
     99state  real  QSURF     ij   misc  1  -  rhd  "QSURF"     "TRACER AT SURFACE"               "kg m-2"  #SAVEMARS2 qsurflast
    99100####
    100101####
     
    202203state  real   slpy            ij   misc  1  -  i012rd  "SLOPEY"      "slope y direction"       "rad"
    203204state  real   mars_emiss      ij   misc  1  -  i012rd  "MARS_EMISS"  "emissivity"              "0 - 1 fraction"
    204 state  real   mars_cice       ij   misc  1  -  i012rd  "MARS_CICE"   "co2 ice"                 "kg"
     205state  real   mars_cice       ij   misc  1  -  i012rd  "MARS_CICE"   "co2 ice"                 "kg/m2"
     206state  real   mars_wice       ij   misc  1  -  i012rd  "MARS_WICE"   "h2o ice"                 "kg/m2"
    205207state  real   mars_tsoil     ilj   misc  1  -  i012rd  "MARS_TSOIL"  "soil temperatures"       "K"
    206208state  real   mars_isoil     ilj   misc  1  -  i012rd  "MARS_ISOIL"  "soil thermal inertia"    "tiu"
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_quarter_ss.F

    r11 r72  
    429429    grid%mars_emiss(i,j)=0.95
    430430    grid%mars_cice(i,j)=0.
     431    grid%mars_wice(i,j)=0.
    431432    grid%slpx(i,j) = 0.
    432433    grid%slpy(i,j) = 0.
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F

    r63 r72  
    277277              grid%mars_emiss(i,j)=grid%st000010(i,j)
    278278              grid%mars_cice(i,j)=grid%st010040(i,j)
     279              grid%mars_wice(i,j)=grid%sm100200(i,j)
    279280                  !! one more security ... co2ice cannot be negative
    280281                  IF (grid%mars_cice(i,j) .lt. 0.) grid%mars_cice(i,j)=0.
     282                  IF (grid%mars_wice(i,j) .lt. 0.) grid%mars_wice(i,j)=0.
    281283
    282284              DO k = 1, config_flags%num_soil_layers 
     
    484486grid%mars_emiss(i,j) = 0.95
    485487grid%mars_cice(i,j) = 0.
     488grid%mars_wice(i,j) = 0.
    486489grid%mars_tsoil(i,:,j)=grid%mars_tsoil(its+1,:,jts+1)
    487490
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F

    r55 r72  
    853853     &        ,MARS_ALB=grid%albedo_gcm,MARS_TI=grid%therm_inert  &
    854854     &        ,MARS_CICE=grid%mars_cice,MARS_EMISS=grid%mars_emiss   & 
     855     &        ,MARS_WICE=grid%mars_wice         &
    855856     &        ,MARS_TSOIL=grid%mars_tsoil       &
    856857#ifdef NEWPHYS
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/mars_lmd/libf/phymars/meso_physiq.F

    r54 r72  
    184184      REAL ust(ngridmx)    !! pour LES avec isfflx!=0
    185185      LOGICAL flag_LES     !! pour LES avec isfflx!=0
     186      REAL qsurflast(ngridmx) !! pour diagnostics
    186187c ****WRF
    187188      REAL pday
     
    14961497         wtsurf(ig) = tsurf(ig)    !! surface temperature
    14971498         wco2ice(ig) = co2ice(ig)  !! co2 ice
     1499
     1500         !!! TEMP TEMP TEMP TEMP TEMP TEMP TEMP
     1501         !!! specific to WRF WRF WRF
     1502         !!! just to output water ice on surface
     1503         !!! [it might not be water ice on surface but OK]
     1504         !!! uncomment the Registry entry
     1505         qsurflast(ig) = qsurf(ig,nqmx)
     1506
    14981507      enddo
    14991508c
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F

    r70 r72  
    3030        MARS_MODE, &
    3131        MARS_ALB,MARS_TI,MARS_CICE,MARS_EMISS, &
     32        MARS_WICE, &
    3233        MARS_TSOIL, &
    3334#ifdef NEWPHYS
     
    109110     XLAT,XLONG,HT,  &
    110111     MARS_ALB,MARS_TI,MARS_EMISS,MARS_CICE, &
     112     MARS_WICE, &
    111113     SLPX,SLPY
    112114! 3D arrays
     
    440442!ENDIF   
    441443
    442 print *, 'check dynamics'
    443   !!! in some cases, weird values are displayed
    444   !!! despite the fact that outputs are OK...
    445   !print *, 'u', MAXVAL(u), MINVAL(u)
    446   !print *, 'v', MAXVAL(v), MINVAL(v)
    447   !print *, 'w', MAXVAL(w), MINVAL(w)
    448   !print *, 't', MAXVAL(t), MINVAL(t, MASK = t > 0)
    449 print *, 'u', u(10,1,10), u(10,15,10)
    450 print *, 'v', v(10,1,10), v(10,15,10)
    451 print *, 'w', w(10,1,10), w(10,15,10)
    452 print *, 't', t(10,1,10), t(10,15,10)
     444!print *, 'check dynamics'
     445!  !!! in some cases, weird values are displayed
     446!  !!! despite the fact that outputs are OK...
     447!  !print *, 'u', MAXVAL(u), MINVAL(u)
     448!  !print *, 'v', MAXVAL(v), MINVAL(v)
     449!  !print *, 'w', MAXVAL(w), MINVAL(w)
     450!  !print *, 't', MAXVAL(t), MINVAL(t, MASK = t > 0)
     451!print *, 'u', u(10,1,10), u(10,15,10)
     452!print *, 'v', v(10,1,10), v(10,15,10)
     453!print *, 'w', w(10,1,10), w(10,15,10)
     454!print *, 't', t(10,1,10), t(10,15,10)
    453455
    454456!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    786788
    787789!-------------------!
     790! Tracer at surface !
     791!-------------------!
     792#ifdef NEWPHYS
     793  !!! a faire !!!
     794  PRINT *, 'WARNING WARNING no tracer at surface'
     795  qsurf_val(:)=0.
     796#else
     797SELECT CASE (MARS_MODE)
     798    CASE(0)  !! NO TRACERS (mars=0)
     799    qsurf_val(:)=0.
     800    CASE(1)  !! WATER CYCLE (mars=1)
     801    qsurf_val(2)=MARS_WICE(i,j)    !! attention... H2O ice is tracer nqmx in qsurf in LMD physics
     802    qsurf_val(1)=0.               
     803    CASE(2)  !! DUST CYCLE (mars=2)
     804    qsurf_val(:)=0.
     805END SELECT
     806#endif
     807
     808!-------------------!
    788809! Slope inclination !
    789810!-------------------!
     
    832853PRINT *,'v_prof ',v_prof
    833854PRINT *,'tsoil ',tsoil_val
     855PRINT *,'qsurf ',qsurf_val
    834856#ifdef NEWPHYS
    835857PRINT *,'isoil ',isoil_val
     
    844866!-------------------------!
    845867!-------------------------!
    846 q2_val(:)=0      !PBL wind variance
    847 qsurf_val(:)=0   !Tracer on surface
     868q2_val(:)=0.      !PBL wind variance
    848869
    849870!-----------------!
     
    11671188!!PRINT *, 'min',MINVAL(RUBLTEN, MASK=RUBLTEN/=0.),&
    11681189!!        ' at',MINLOC(RUBLTEN, MASK=RUBLTEN/=0.)
    1169 PRINT *, RUBLTEN(10,1,10), RUBLTEN(10,15,10)
     1190!PRINT *, RUBLTEN(10,1,10), RUBLTEN(10,15,10)
    11701191PRINT *, 'v non-zero tendencies'
    11711192!!PRINT *, 'max',MAXVAL(RVBLTEN, MASK=RVBLTEN/=0.),&
     
    11731194!!PRINT *, 'min',MINVAL(RVBLTEN, MASK=RVBLTEN/=0.),&
    11741195!!        ' at',MINLOC(RVBLTEN, MASK=RVBLTEN/=0.)
    1175 PRINT *, RVBLTEN(10,1,10), RVBLTEN(10,15,10)
     1196!PRINT *, RVBLTEN(10,1,10), RVBLTEN(10,15,10)
    11761197!!! STOP IF CRASH
    11771198!IF (MAXVAL(RUBLTEN, MASK=RUBLTEN/=0.) == 0.) STOP
Note: See TracChangeset for help on using the changeset viewer.