Ignore:
Timestamp:
Mar 24, 2014, 9:46:50 AM (11 years ago)
Author:
aslmd
Message:

LMDZ.MARS + MESOSCALE

A quite major commit, at least for MESOSCALE.
In a word: any ngrid deserves to be free.

  • no need to recompile when changing number of horizontal grid points or number of processors
  • latest version of LMDZ.MARS physics can be used
  • WARNING! Nesting is still yet to be fixed (since r1027)

Also some small bug fixes to LMDZ.MARS.

Changes in LMDZ.MARS


--> fixed a potential bug in thermal plume model because zlmax was computed both in thermcell_main_mars and calltherm_interface... so made it an OUT argument of calltherm_interface. also: changed the name to limz. and added precompiling flags to avoid the use of planetwide in MESOSCALE. in MESOSCALE we just go high enough (nlayer-5) and do not care about computational cost (although we certainly gain from not using MAXVAL).
--> moved allocations upward in inifis. does not change anything for GCM, but make MESOSCALE modifications simpler, and overall make inifis better organized: first allocations, then reading callphys.def file.
--> added precompiling flags around lines that are both useless for MESOSCALE (notably I/O) and recently adapted to parallel computations in the GCM
--> tidied up what is MESOSCALE vs. GCM in surfini

Changes in MESOSCALE


--> changed makemeso to allow dynamically set nx ny nprocs
--> changed makemeso to remove links to Fortran code adapted to parallel GCM and useless for mesoscale
--> changed ngridmx to ngrid in inifis includes

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

Legend:

Unmodified
Added
Removed
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis1.inc

    r1038 r1212  
    55
    66
    7        CALL inifis(ngridmx,nlayer,         &
     7       CALL inifis(ngrid,nlayer,         &
    88#ifdef NEWPHYS
    99               nq,  &
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis2.inc

    r1038 r1212  
    88
    99       CASE(1)
    10        CALL inifis(ngridmx,nlayer, &
     10       CALL inifis(ngrid,nlayer, &
    1111#ifdef NEWPHYS
    1212               nq,  &
     
    3535
    3636       CASE(2)
    37        CALL d2_inifis(ngridmx,nlayer, &
     37       CALL d2_inifis(ngrid,nlayer, &
    3838#ifdef NEWPHYS
    3939               nq,  &
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis3.inc

    r1038 r1212  
    88
    99       CASE(1)
    10        CALL inifis(ngridmx,nlayer, &
     10       CALL inifis(ngrid,nlayer, &
    1111#ifdef NEWPHYS
    1212               nq,  &
     
    3434
    3535       CASE(2)
    36        CALL d2_inifis(ngridmx,nlayer, &
     36       CALL d2_inifis(ngrid,nlayer, &
    3737#ifdef NEWPHYS
    3838               nq,  &
     
    6060
    6161       CASE(3)
    62        CALL d3_inifis(ngridmx,nlayer, &
     62       CALL d3_inifis(ngrid,nlayer, &
    6363#ifdef NEWPHYS
    6464               nq,  &
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis4.inc

    r1038 r1212  
    88
    99       CASE(1)
    10        CALL inifis(ngridmx,nlayer, &
     10       CALL inifis(ngrid,nlayer, &
    1111#ifdef NEWPHYS
    1212               nq,  &
     
    3434
    3535       CASE(2)
    36        CALL d2_inifis(ngridmx,nlayer, &
     36       CALL d2_inifis(ngrid,nlayer, &
    3737#ifdef NEWPHYS
    3838               nq,  &
     
    6060
    6161       CASE(3)
    62        CALL d3_inifis(ngridmx,nlayer, &
     62       CALL d3_inifis(ngrid,nlayer, &
    6363#ifdef NEWPHYS
    6464               nq,  &
     
    8686
    8787       CASE(4)
    88        CALL d4_inifis(ngridmx,nlayer, &
     88       CALL d4_inifis(ngrid,nlayer, &
    8989#ifdef NEWPHYS
    9090               nq,  &
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/call_meso_inifis5.inc

    r1095 r1212  
    88
    99       CASE(1)
    10        CALL inifis(ngridmx,nlayer, &
     10       CALL inifis(ngrid,nlayer, &
    1111#ifdef NEWPHYS
    1212               nq,  &
     
    3434
    3535       CASE(2)
    36        CALL d2_inifis(ngridmx,nlayer, &
     36       CALL d2_inifis(ngrid,nlayer, &
    3737#ifdef NEWPHYS
    3838               nq,  &
     
    6060
    6161       CASE(3)
    62        CALL d3_inifis(ngridmx,nlayer, &
     62       CALL d3_inifis(ngrid,nlayer, &
    6363#ifdef NEWPHYS
    6464               nq,  &
     
    8686
    8787       CASE(4)
    88        CALL d4_inifis(ngridmx,nlayer, &
     88       CALL d4_inifis(ngrid,nlayer, &
    8989#ifdef NEWPHYS
    9090               nq,  &
     
    112112
    113113       CASE(5)
    114        CALL d5_inifis(ngridmx,nlayer, &
     114       CALL d5_inifis(ngrid,nlayer, &
    115115#ifdef NEWPHYS
    116116               nq,  &
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F

    r1128 r1212  
    388388wappel_phys = RADT
    389389ptimestep = dt*wappel_phys            ! physical timestep (s)
    390 ngrid=(ipe-ips+1)*(jpe-jps+1)         ! size of the horizontal grid: ngridmx = wiim * wjjm
     390ngrid=(ipe-ips+1)*(jpe-jps+1)         ! size of the horizontal grid
    391391nlayer = kpe-kps+1                    ! number of vertical layers: nlayermx
    392392nsoil = NUM_SOIL_LAYERS               ! number of soil layers: nsoilmx
Note: See TracChangeset for help on using the changeset viewer.