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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MESOSCALE/LMD_MM_MARS/makemeso

    r1060 r1212  
    134134  echo Grid points in longitude ? ; read lon
    135135  echo Grid points in latitude ? ; read lat
     136  # ngrid: now dynamically set in newphys 03/2014
     137   if [[ "${phys}" == "newphys_" ]]
     138   then
     139      lon=999
     140      lat=999
     141      numproc=999
     142   fi
    136143  echo Number of vertical levels ? ; read level
    137144  fi
     
    174181         else
    175182            echo Number of tracers ? ; read tra
    176             # tracers: no dynamically set in newphys 09/2013
     183            # tracers: now dynamically set in newphys 09/2013
    177184            if [[ "${phys}" == "newphys_" ]]
    178185            then
     
    243250     #ln -sf meso_callkeys_newphys.h meso_callkeys.h
    244251     cd Registry ; Registry.bash ; cd ..
     252
     253     # remove files adapted to parallel GCM and useless for mesoscale
     254     cd mars_lmd
     255     cd libf/phymars
     256     \rm tabfi* soil_settings* phyetat0* phyredem* iostart* writediagfi* mkstat* writediagsoil* eofdump* wstats* inistats* mod_*
     257     mv ../dyn3d/control_mod.F90 .
     258     cd ../..
     259     cd ..
     260
    245261    else
    246262         if [[ "${config}" == "les" ]]
     
    594610  cd mars_lmd/
    595611
     612 if [[ "${phys}" == "newphys_" ]]
     613 then
     614  divx=1
     615  divy=1
     616 else
    596617  # required size
    597618  #----------------
     
    611632      *) echo not yet supported ; exit ;;
    612633  esac
     634 fi
    613635  physx=$(expr ${lon} - 1)
    614636  restex=$(expr ${physx} \% ${divx})   
     
    629651  if [[ "${phys}" == "newphys_" ]]
    630652  then
    631      soilsize=18 ## nouvelle physique
     653     soilsize=18 ## nouvelle physique. ne sert a rien ici. voir comsoil.
    632654  else
    633655     soilsize=10
Note: See TracChangeset for help on using the changeset viewer.