Ignore:
Timestamp:
May 31, 2011, 3:31:07 AM (14 years ago)
Author:
aslmd
Message:

LMD_LES_MARS: changement majeur pour pallier a plusieurs defauts penibles de la separation d'avec LMD_MM_MARS.

--> le LES est maintenant inclus dans LMD_MM_MARS/SRC/LES [executer le script d'installation LMD_LES_MARS_install au prealable]
--> il se compile avec le script makemeso dans $MMM en mettant l'option "-c les" qui cree un dossier particulier, e.g. lesmpi_64
--> pour l'instant sont supportes : mpi_64, mpifort_64, ancienne et nouvelle physique, cas particulier ciclad (detecte automatiquement)
--> le(s) script(s) makeles sont desormais obsoletes
--> il n'y a plus qu'un seul Registry.EM a modifier pour le LES

(eventuellment il est possible de modifier dans le dossier specifique en remplacant le lien par un fichier)

--> disparition du dossier MESOSCALE/LMD_LES_MARS
--> les changements ont ete fait sans modifier le script copy_model
Il reste a verifier le bon fonctionnement de facon plus approfondie suite a ce changement de structure.
Le nouveau script 'correcfft' est un sparadrap un peu moche mais sans consequence.
Voir changements dans makemeso et LMD_LES_MARS_install

Changements mineurs
M 141 DOC/000-MODELS
M 141 MESOSCALE/NOTES.txt
D 141 MESOSCALE/LMD_MM_MARS/SRC/WRFV2/mars_lmd_new_storm/libf/phymars/meso_physiq_julien.F
M 141 MESOSCALE/PLOT/MINIMAL/map_latlon.pro

Location:
trunk/MESOSCALE/LMD_MM_MARS
Files:
3 added
1 deleted
2 edited
3 copied

Legend:

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

    r141 r142  
    1111tar xzvf WRFV3.0.1.1.TAR.gz
    1212\rm WRFV3.0.1.1.TAR.gz
    13 mv WRFV3/* .
    14 rmdir WRFV3
     13#mv WRFV3/* .
     14#rmdir WRFV3
     15
     16  #### faking stuff for copy_model script
     17  mv WRFV3 WRFV2
     18  touch in_reality_this_is_WRFV3_but_is_named_WRFV2_for_continuity
     19  cd WRFV2
     20  ln -sf ../../WRFV2/mars_lmd .
     21  ln -sf ../../WRFV2/mars_lmd_new .
     22  ln -sf ../modif_mars .
     23  ln -sf ../../WRFV2/*.h .
     24  cp ../../WRFV2/call_meso_inifis?.inc .
     25  cp ../../WRFV2/call_meso_physiq?.inc .
     26  touch configure.defaults.dummy
     27  touch mars.sed.dummy
     28  mkdir external/RSL
     29  mkdir external/RSL/RSL
     30  touch external/RSL/RSL.dummy
     31  touch external/RSL/RSL/RSL.dummy
    1532
    1633#
     
    2340#ln -sf ../LMD_LES_MARS_patches modif_mars
    2441
    25 cd modif_mars
    26 ln -sf ../../LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
    27 cd ..
     42#cd modif_mars
     43#ln -sf ../../LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
     44#cd ..
    2845
    2946cd dyn_em
     
    4461cd Registry
    4562ln -sf ../modif_mars/Registry.EM .
    46 #ln -sf ../modif_mars/Registry.bash .
     63ln -sf ../modif_mars/Registry.bash .
    4764cd ..
    4865
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_lmd_driver.F

    r58 r142  
    1 link ../../LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
     1link ../../WRFV2/phys/module_lmd_driver.F
  • trunk/MESOSCALE/LMD_MM_MARS/makemeso

    r118 r142  
    2828donotcompile=0
    2929donotallow=0
    30 config='real'
     30config=''
    3131donotcompilephys=0
    3232justphys=0
     
    4949# Use:   
    5050#
    51 # makemeso                   ## basic use (real configuration)
     51# makemeso                   ## basic use (real-case configuration)
    5252#
    5353# makemeso -d                ## no compilation, just check the name of the compile folder
    5454#
    55 # makemeso -c real           ## real-case mode [default]
    5655# makemeso -c ideal          ## idealized mode (convective cell, mountain wave, etc...)
     56# makemeso -c les            ## large-eddy simulations mode based on WRFV3
    5757#
    5858# makemeso -n                ## do not recompile LMD physics (must have been compiled before)
     
    147147####
    148148
    149     conf_wrf="${scenario}${phys}${compilo}_${machine}${single}${testflag}"
     149    conf_wrf="${config}${scenario}${phys}${compilo}_${machine}${single}${testflag}"
    150150    \rm what_folder 2> /dev/null
    151151    echo ${conf_wrf} > what_folder
     
    182182          echo SCENARIO ${scenario} DID YOU INCLUDE THE RIGHT copy_model ? ; read dummy
    183183          sed s+"mars_lmd"+"mars_lmd_new_${scenario}"+g copy_model > copy_model_tmp
     184             if [[ "${config}" == "les" ]]
     185             then
     186              echo "NOT SUPPORTED, check options"
     187             fi
     188        fi
     189        if [[ "${config}" == "les" ]]
     190        then
     191         sed s+"PWD/SRC/"+"PWD/SRC/LES/"+g copy_model_tmp > yeah
     192         mv yeah copy_model_tmp
    184193        fi
    185194     chmod 755 copy_model_tmp
     
    200209     cd Registry ; Registry.bash ; cd ..
    201210    else
    202      ./copy_model
     211     #./copy_model
     212         if [[ "${config}" == "les" ]]
     213         then
     214           sed s+"PWD/SRC/"+"PWD/SRC/LES/"+g copy_model > copy_model_tmp
     215         else
     216           cp copy_model copy_model_tmp
     217         fi   
     218     chmod 755 copy_model_tmp
     219     ./copy_model_tmp
     220     \rm copy_model_tmp
    203221     mv WRFV2 ${conf_wrf}/
    204222     cd ${conf_wrf}/WRFV2
    205223     cd Registry ; Registry.bash ; cd ..
    206224     fi
     225          #### sparadrap consequent a l'utilisation de copy_model pour les liens
     226          #### -- car alors il manque fftpack
     227          if [[ "${config}" == "les" ]]
     228          then
     229            cp ../../SRC/LES/correcfft ./
     230            ./correcfft
     231            \rm correcfft
     232          fi
    207233  else
    208234    cd ${conf_wrf}/WRFV2
     
    257283  echo ${answer} >> last
    258284
    259 
    260285#------------
    261286# log files
     
    270295  ########################
    271296  conf_wrf_forall="${compilo}_${machine}${single}${testflag}"
     297
     298         #### in this case options are different because for LES, WRFV3 is used
     299         if [[ "${config}" == "les" ]]
     300         then
     301         conf_wrf_forall="${config}${compilo}_${machine}${single}${testflag}"
     302         fi
     303
    272304  case ${conf_wrf_forall} in
     305
     306     #######LES-specific (WRFV3-based) -- previously in 'makeles'
     307     #######
     308
     309     lesmpi_64)        ## MPI (dm) 64 bits [PS: remplacer 3 par 4 pour openMP]
     310                       \rm conf > /dev/null 2> /dev/null ; touch conf ; echo 3 >> conf ; echo 1 >> conf
     311                       \rm configure.wrf > /dev/null 2> /dev/null ; ./configure < conf > /dev/null 2> /dev/null
     312                       sed s+"-lnetcdf"+"-lnetcdf -L../mars_lmd/libo -llmd"+g   configure.wrf > yeah ; mv -f yeah configure.wrf
     313                       echo "$(hostname)"
     314                       if [[ "$(hostname)" == "ciclad1.ipsl.jussieu.fr" ]]
     315                       then
     316            echo "SPECIFIC CHANGES FOR CICLAD CLUSTER. EDIT makemeso IF YOU ENCOUNTER PROBLEMS."
     317            #sed s+"mpif90 -f90=$(SFC)"+"/usr/lib64/openmpi/1.4.2-pgf/bin/mpif90"+g                      configure.wrf > yeah ; mv -f yeah configure.wrf
     318            #sed s+"mpicc -cc=$(SCC)"+"/usr/lib64/openmpi/1.4.2-gfortran/bin/mpicc -DMPI2_SUPPORT"+g     configure.wrf > yeah ; mv -f yeah configure.wrf
     319            sed s+"mpif90 -f90=$(SFC)"+"/usr/lib64/openmpi/1.4.3-pgfgcc/bin/mpif90"+g                   configure.wrf > yeah ; mv -f yeah configure.wrf
     320            sed s+"mpicc -cc=$(SCC)"+"/usr/lib64/openmpi/1.4.3-pgfgcc/bin/mpicc -DMPI2_SUPPORT"+g       configure.wrf > yeah ; mv -f yeah configure.wrf
     321                       else
     322            sed s+"mpif90"+"$WHERE_MPI/mpif90"+g                 configure.wrf > yeah ; mv -f yeah configure.wrf
     323            sed s+"mpicc"+"$WHERE_MPI/mpicc -DMPI2_SUPPORT"+g    configure.wrf > yeah ; mv -f yeah configure.wrf
     324                       fi
     325                       sed s+"-fastsse"+" "+g                               configure.wrf > yeah ; mv -f yeah configure.wrf
     326                          ### pas forcement necessaire ici mais OK
     327                          sed s+"-llmd"+"-llmd $NETCDF/lib/libnetcdf.a"+g     configure.wrf > yeah ; mv -f yeah configure.wrf
     328                       \rm conf > /dev/null ;;
     329
     330     lesmpifort_64)    ## MPI (dm) 64 bits IFORT
     331                       \rm conf > /dev/null 2> /dev/null ; touch conf ; echo 7 >> conf ; echo 1 >> conf
     332                       \rm configure.wrf > /dev/null 2> /dev/null ; ./configure < conf > /dev/null 2> /dev/null
     333                       sed s+"-lnetcdf"+"-lnetcdf -L../mars_lmd/libo -llmd"+g   configure.wrf > yeah ; mv -f yeah configure.wrf
     334                       sed s+"mpif90"+"$WHERE_MPI/mpif90"+g                 configure.wrf > yeah ; mv -f yeah configure.wrf
     335                       sed s+"mpicc"+"$WHERE_MPI/mpicc -DMPI2_SUPPORT"+g    configure.wrf > yeah ; mv -f yeah configure.wrf
     336                       sed s+"-fastsse"+" "+g                               configure.wrf > yeah ; mv -f yeah configure.wrf
     337                       sed s+"-llmd"+"-llmd $NETCDF/lib/libnetcdf.a"+g     configure.wrf > yeah ; mv -f yeah configure.wrf
     338                       \rm conf > /dev/null ;;
     339
     340     #######
     341     #######LES-specific (WRFV3-based) -- previously in 'makeles'   
     342
    273343#######TEST TEST
    274344                     # GFORTRAN, 64 bits, no nesting     
     
    368438  ########################
    369439
     440
    370441  if [[ "${phys}" == "newphys_" ]]
    371442  then
    372      sed s+"ARCHFLAGS       =       "+"ARCHFLAGS       =       -DNEWPHYS "+g configure.wrf > yeah
     443     if [[ "${config}" == "les" ]]  ### LES is different because of WRFV3
     444     then
     445       sed s+"ARCH_LOCAL      =       "+"ARCH_LOCAL      =       -DNEWPHYS "+g configure.wrf > yeah
     446     else
     447       sed s+"ARCHFLAGS       =       "+"ARCHFLAGS       =       -DNEWPHYS "+g configure.wrf > yeah
     448     fi
    373449     mv -f yeah configure.wrf
    374450  fi
    375451
    376         if [[ ! ("${scenario}" == "") ]]
     452        if [[ ! ("${scenario}" == "") ]]   ### not supported with LES for the moment
    377453        then
    378454          sed s+"ARCHFLAGS       =       "+"ARCHFLAGS       =       -D${scenario} "+g configure.wrf > yeah
     
    560636
    561637  # talk to user
    562   echo '>>> YOUR CONFIG IS : '${config}
    563638  echo '>>> compiling ... this may be long ... <<<'
    564639  echo check progress in:
     
    569644  # compile ...
    570645  case ${config} in
    571     'real')         compile em_real > log_compile 2> log_error
     646    '')         compile em_real > log_compile 2> log_error
    572647                    # save executables 
    573648                    cd main
     
    584659                    cd ..  ;;
    585660    'ideal')        #mkdir 'test/em_quarter_ss' 2> /dev/null
     661                    echo '>>> YOUR CONFIG IS : '${config}
    586662                    compile em_quarter_ss > log_compile 2> log_error
    587663                    # save executables 
     
    598674                    cp -f wrf.exe ../../wrf_x${lon}_y${lat}_z${level}_d${dom}_t${tra}_p${numproc}.exe
    599675                    cd ..  ;;
    600     *)              echo not supported... please use ; echo real ideal ; exit ;;
     676    'les')          echo '>>> YOUR CONFIG IS : '${config}
     677                    mkdir 'test/em_les' 2> /dev/null                   
     678                    compile em_les > log_compile 2> log_error
     679                    # save executables 
     680                    cd main
     681                      if [[ -f ideal.exe ]]
     682                      then
     683                        echo 'Looks good ! ideal.exe is here...'
     684                      fi
     685                      if [[ -f wrf.exe ]]
     686                      then
     687                        echo 'Looks good ! wrf.exe is here...'
     688                      fi
     689                    cp -f ideal.exe ../../ideal_x${lon}_y${lat}_z${level}_d${dom}_t${tra}_p${numproc}.exe
     690                    cp -f wrf.exe ../../wrf_x${lon}_y${lat}_z${level}_d${dom}_t${tra}_p${numproc}.exe
     691                    cd ..  ;;
     692    *)              echo not supported... please use ; echo ideal les ; exit ;;
    601693  esac
    602694  echo '*******last lines from log_error*********'
Note: See TracChangeset for help on using the changeset viewer.