- Timestamp:
- Aug 26, 2013, 9:21:41 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 97 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/DOC/chantiers/commit_importants.log
r1017 r1019 1248 1248 in the Venus physics). 1249 1249 1250 ********************** 1251 **** commit_v1019 **** 1252 ********************** 1253 Ehouarn: Updates in the dynamics (seq and //) to keep up with updates 1254 in LMDZ5 (up to LMDZ5 trunk, rev 1845): 1255 * General stuff: 1256 - makelmdz_fcm: add options -j # (compile using # threads) and -full, and to keep up 1257 with Earth model, possibility to compile with various versions of orchidee 1258 - bld.cfg: adaptations to enable compiling using multiple threads 1259 - build_gcm: adaptations to enable compiling using multiple threads 1260 - makelmdz: keep up with Earth model: possibility to compile with various versions of orchidee + cosmetic changes + library directory name change 1261 1262 * bibio: 1263 - wxios.F90 : Added for possible future use of XIOS library 1264 1265 * filtrez: 1266 - mkl_dft_type.f90 & mkl_dfti.f90 : MKL (for MKL FFT) interface definitions 1267 - filtreg_mod : limit use of FFT to parallel mode 1268 - mod_filtre_fft.F90 & mod_filtre_fft_lov.F90 : swich to use parallel_lmdz 1269 1270 * dyn3d: 1271 - abort_gcm.F : add things for xios 1272 - advtrac.F90 : minor change in CFL outputs 1273 - ce0l.F90 : indicesol.h is now module indice_sol_mod 1274 - comvert.h : cosmetic change on comments 1275 - gcm.F : add xios and use module indice_sol_mod (for INCA) 1276 - inigeom.F : move two computations outside loop 1277 1278 * dyn3dpar: 1279 - parallel.F90 => parallel_lmdz.F90 : and change all the "use parallel" into 1280 "use parallel_lmdz" in all files in dyn3dpar 1281 - comvert.h : cosmetic change on comments 1282 - gcm.F : add xios and use module indice_sol_mod (for INCA) 1283 - leapfrog_p.F : add xios + correction for times in Newtonian case 1284 - ce0l.F90 : indicesol.h is now module indice_sol_mod 1285 - inigeom.F : move two computations outside loop 1286 -
trunk/LMDZ.COMMON/bld.cfg
r895 r1019 32 32 src::chem %CHEM 33 33 34 bld::lib::dyn %DYN 35 bld::lib::phys %PHYS 36 bld::lib::grid grid 37 bld::lib::filtrez filtrez 38 bld::lib::bibio bibio 39 bld::lib::cosp cosp 40 bld::lib::chem %CHEM 34 bld::lib lmdz 41 35 42 36 43 37 bld::outfile_ext::exe %SUFF_NAME.e 44 bld::target lib %{DYN}.a lib%{PHYS}.a libgrid.a libfiltrez.a libbibio.a libcosp.a lib%{CHEM}.a38 bld::target liblmdz.a 45 39 bld::target %EXEC%SUFF_NAME.e 46 bld::exe_dep %{DYN} %{PHYS} grid filtrez bibio cosp %{CHEM}40 bld::exe_dep 47 41 48 42 … … 68 62 bld::tool::fppkeys %CPP_KEY %FPP_DEF 69 63 70 64 # Example of how to set specific compiling options for a specific file 65 # -> this can be including in the arch.opt file 71 66 #bld::tool::fflags::phys::readaerosol %BASE_FFLAGS %PROD_FFLAGS %INCDIR -C hopt -pi auto 72 #bld::tool::fflags::phys::aeropt_2bands %BASE_FFLAGS %PROD_FFLAGS %INCDIR73 #bld::tool::fflags::phys::radiation_AR4 %BASE_FFLAGS %PROD_FFLAGS1 %INCDIR -C hopt -Wf,-O,extendreorder74 #bld::tool::fflags::phys::radiation_AR4_param %BASE_FFLAGS %PROD_FFLAGS1 %INCDIR -C hopt -f375 #bld::tool::fflags::phys::fisrtilp %BASE_FFLAGS %PROD_FFLAGS %INCDIR -C hopt76 #bld::tool::fflags::phys::cv30_routines %BASE_FFLAGS %PROD_FFLAGS %INCDIR -Wf,-O,extendreorder77 #bld::tool::fflags::phys::cvltr %BASE_FFLAGS %PROD_FFLAGS %INCDIR -C hopt78 #bld::tool::fflags::phys::clouds_gno %BASE_FFLAGS %PROD_FFLAGS %INCDIR -C hopt79 #bld::tool::fflags::dyn::vlsplt_p %BASE_FFLAGS %PROD_FFLAGS %INCDIR -C hopt80 #bld::tool::fflags::dyn::groupeun_p %BASE_FFLAGS %PROD_FFLAGS %INCDIR -C hopt81 67 82 68 … … 99 85 bld::excl_dep use::mod_prism_get_proto 100 86 bld::excl_dep use::mod_prism_put_proto 101 bld::excl_dep use::mkl_dfti102 87 103 88 # Don't generate interface files -
trunk/LMDZ.COMMON/build_gcm
r979 r1019 29 29 fi 30 30 31 job=1 31 32 dirname="" #path to where the fcm command will be found 32 33 if (( $# >= 1 )) ; then … … 39 40 # add a trailing "/" to $dirname 40 41 dirname=${dirname}"/" 42 shift; 41 43 fi 42 44 43 45 # run "fcm build" command 44 ${dirname}fcm build 46 ${dirname}fcm build $* 45 47 46 48 # cleanup -
trunk/LMDZ.COMMON/libf/dyn3d/advtrac.F90
r270 r1019 203 203 if (countcfl==day_step) then 204 204 do l=1,llm 205 write(lunout,*) 'L, CFL max '&206 ,l,maxval(cflx(:,l)),maxval(cfly(:,l)),maxval(cflz(:,l))205 write(lunout,*) 'L, CFL[xyz]max:', l, cflxmax(l), cflymax(l), & 206 cflzmax(l) 207 207 enddo 208 208 countcfl=0 -
trunk/LMDZ.COMMON/libf/dyn3d/ce0l.F90
r776 r1019 20 20 USE comgeomphy 21 21 USE infotrac 22 USE indice_sol_mod 22 23 23 24 #ifdef CPP_IOIPSL … … 36 37 #include "dimensions.h" 37 38 #include "paramet.h" 38 #include "indicesol.h"39 !#include "indicesol.h" 39 40 #include "iniprint.h" 40 41 #include "temps.h" -
trunk/LMDZ.COMMON/libf/dyn3d/comvert.h
r841 r1019 23 23 real bps ! hybrid sigma contribution at mid-layers 24 24 real scaleheight ! atmospheric (reference) scale height (km) 25 real pseudoalt ! for planets 25 real pseudoalt ! pseudo-altitude of model levels (km), based on presnivs(), 26 ! preff and scaleheight 26 27 27 28 integer disvert_type ! type of vertical discretization: -
trunk/LMDZ.COMMON/libf/dyn3d/gcm.F
r1017 r1019 13 13 #endif 14 14 15 16 #ifdef CPP_XIOS 17 ! ug Pour les sorties XIOS 18 USE wxios 19 #endif 20 15 21 USE filtreg_mod 16 22 USE infotrac 17 23 USE control_mod 18 24 use cpdet_mod, only: ini_cpdet 25 26 #ifdef INCA 27 ! Only INCA needs these informations (from the Earth's physics) 28 USE indice_sol_mod 29 #endif 19 30 20 31 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 81 92 #ifdef INCA 82 93 ! Only INCA needs these informations (from the Earth's physics) 83 #include "indicesol.h"94 !#include "indicesol.h" 84 95 #endif 85 96 … … 173 184 ! CALL defrun( 99, .TRUE. , clesphy0 ) 174 185 !#endif 186 187 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 188 ! Initialisation de XIOS 189 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 190 191 #ifdef CPP_XIOS 192 CALL wxios_init("LMDZ") 193 #endif 194 175 195 176 196 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -
trunk/LMDZ.COMMON/libf/dyn3d/inigeom.F
r1 r1019 426 426 radclatm = 0.5* rad * coslatm 427 427 c 428 ai14 = un4rad2 * coslatp * yprp 429 ai23 = un4rad2 * coslatm * yprm 428 430 DO 32 i = 1,iim 429 431 xprp = xprimp025( i ) 430 432 xprm = xprimm025( i ) 431 433 432 ai14 = un4rad2 * coslatp * yprp433 ai23 = un4rad2 * coslatm * yprm434 434 aireij1 ( i,j ) = ai14 * xprp 435 435 aireij2 ( i,j ) = ai23 * xprp -
trunk/LMDZ.COMMON/libf/dyn3dpar/abort_gcm.F
r979 r1019 12 12 USE ioipsl_getincom 13 13 #endif 14 USE parallel 14 USE parallel_lmdz 15 15 #include "iniprint.h" 16 16 -
trunk/LMDZ.COMMON/libf/dyn3dpar/addfi_p.F
r108 r1019 5 5 S pucov, pvcov, pteta, pq , pps , 6 6 S pdufi, pdvfi, pdhfi,pdqfi, pdpfi ) 7 USE parallel 7 USE parallel_lmdz 8 8 USE infotrac, ONLY : nqtot 9 9 USE control_mod, ONLY : planet_type -
trunk/LMDZ.COMMON/libf/dyn3dpar/advect_new_p.F
r1 r1019 4 4 SUBROUTINE advect_new_p(ucov,vcov,teta,w,massebx,masseby, 5 5 & du,dv,dteta) 6 USE parallel 6 USE parallel_lmdz 7 7 USE write_field_p 8 8 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/advect_p.F
r1 r1019 3 3 ! 4 4 SUBROUTINE advect_p(ucov,vcov,teta,w,massebx,masseby,du,dv,dteta) 5 USE parallel 5 USE parallel_lmdz 6 6 USE write_field_p 7 7 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/advtrac_p.F90
r953 r1019 10 10 ! M.A Filiberti (04/2002) 11 11 ! 12 USE parallel 12 USE parallel_lmdz 13 13 USE Write_Field_p 14 14 USE Bands -
trunk/LMDZ.COMMON/libf/dyn3dpar/bands.F90
r776 r1019 19 19 20 20 subroutine AllocateBands 21 use parallel 21 use parallel_lmdz 22 22 implicit none 23 23 … … 33 33 34 34 subroutine Read_distrib 35 use parallel 35 use parallel_lmdz 36 36 implicit none 37 37 … … 92 92 93 93 SUBROUTINE Set_Bands 94 USE parallel 94 USE parallel_lmdz 95 95 #ifdef CPP_PHYS 96 96 ! Ehouarn: what follows is only related to // physics … … 134 134 subroutine AdjustBands_caldyn 135 135 use times 136 use parallel 136 use parallel_lmdz 137 137 implicit none 138 138 … … 199 199 subroutine AdjustBands_vanleer 200 200 use times 201 use parallel 201 use parallel_lmdz 202 202 implicit none 203 203 … … 265 265 subroutine AdjustBands_dissip 266 266 use times 267 use parallel 267 use parallel_lmdz 268 268 implicit none 269 269 … … 335 335 USE mod_phys_lmdz_para, only : klon_mpi_para_nb 336 336 #endif 337 USE parallel 337 USE parallel_lmdz 338 338 implicit none 339 339 … … 385 385 386 386 subroutine WriteBands 387 USE parallel 387 USE parallel_lmdz 388 388 implicit none 389 389 include "dimensions.h" -
trunk/LMDZ.COMMON/libf/dyn3dpar/bernoui_p.F
r1 r1019 1 1 SUBROUTINE bernoui_p (ngrid,nlay,pphi,pecin,pbern) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/bilan_dyn_p.F
r270 r1019 13 13 USE IOIPSL 14 14 #endif 15 USE parallel 15 USE parallel_lmdz 16 16 USE mod_hallo 17 17 use misc_mod -
trunk/LMDZ.COMMON/libf/dyn3dpar/caldyn_p.F
r8 r1019 10 10 $ (itau,ucov,vcov,teta,ps,masse,pk,pkf,tsurpk,phis , 11 11 $ phi,conser,du,dv,dteta,dp,w,pbaru,pbarv,time ) 12 USE parallel 12 USE parallel_lmdz 13 13 USE Write_Field_p 14 14 -
trunk/LMDZ.COMMON/libf/dyn3dpar/calfis_p.F
r1017 r1019 33 33 USE IOPHY 34 34 #endif 35 USE parallel , ONLY : omp_chunk, using_mpi35 USE parallel_lmdz, ONLY : omp_chunk, using_mpi 36 36 USE Write_Field 37 37 Use Write_field_p -
trunk/LMDZ.COMMON/libf/dyn3dpar/ce0l.F90
r776 r1019 22 22 USE mod_const_mpi 23 23 USE infotrac 24 USE parallel, ONLY: finalize_parallel 24 USE parallel_lmdz, ONLY: finalize_parallel 25 USE indice_sol_mod 25 26 26 27 #ifdef CPP_IOIPSL … … 39 40 #include "dimensions.h" 40 41 #include "paramet.h" 41 #include "indicesol.h"42 !#include "indicesol.h" 42 43 #include "iniprint.h" 43 44 #include "temps.h" -
trunk/LMDZ.COMMON/libf/dyn3dpar/comvert.h
r841 r1019 23 23 real bps ! hybrid sigma contribution at mid-layers 24 24 real scaleheight ! atmospheric (reference) scale height (km) 25 real pseudoalt ! for planets 25 real pseudoalt ! pseudo-altitude of model levels (km), based on presnivs(), 26 ! preff and scaleheight 26 27 27 28 integer disvert_type ! type of vertical discretization: -
trunk/LMDZ.COMMON/libf/dyn3dpar/conf_gcm.F
r1017 r1019 15 15 use mod_filtre_fft, ONLY : use_filtre_fft 16 16 use mod_hallo, ONLY : use_mpi_alloc 17 use parallel , ONLY : omp_chunk17 use parallel_lmdz, ONLY : omp_chunk 18 18 USE control_mod 19 19 USE infotrac, ONLY : type_trac -
trunk/LMDZ.COMMON/libf/dyn3dpar/convflu_p.F
r1 r1019 15 15 c nbniv est le nombre de niveaux vert. de xflu et de yflu . 16 16 c 17 USE parallel 17 USE parallel_lmdz 18 18 IMPLICIT NONE 19 19 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/convmas1_p.F
r1 r1019 1 1 SUBROUTINE convmas1_p (pbaru, pbarv, convm ) 2 2 c 3 USE parallel 3 USE parallel_lmdz 4 4 IMPLICIT NONE 5 5 -
trunk/LMDZ.COMMON/libf/dyn3dpar/convmas2_p.F
r1 r1019 1 1 SUBROUTINE convmas2_p ( convm ) 2 2 c 3 USE parallel 3 USE parallel_lmdz 4 4 IMPLICIT NONE 5 5 -
trunk/LMDZ.COMMON/libf/dyn3dpar/convmas_p.F
r1 r1019 1 1 SUBROUTINE convmas_p (pbaru, pbarv, convm ) 2 2 c 3 USE parallel 3 USE parallel_lmdz 4 4 IMPLICIT NONE 5 5 -
trunk/LMDZ.COMMON/libf/dyn3dpar/covcont_p.F
r1 r1019 1 1 SUBROUTINE covcont_p (klevel,ucov, vcov, ucont, vcont ) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/covnat_p.F
r1 r1019 3 3 ! 4 4 SUBROUTINE covnat_p(klevel,ucov, vcov, unat, vnat ) 5 USE parallel 5 USE parallel_lmdz 6 6 IMPLICIT NONE 7 7 -
trunk/LMDZ.COMMON/libf/dyn3dpar/cpdet_mod.F90
r1017 r1019 141 141 ! Parallel version of t2tpot, over the full dynamics (scalar) grid 142 142 ! (more efficient than multiple calls to t2tpot_p() with slices of data) 143 USE parallel , only : jj_begin,jj_end143 USE parallel_lmdz, only : jj_begin,jj_end 144 144 USE control_mod, only : planet_type 145 145 IMPLICIT none … … 254 254 ! Parallel version of tpot2t, over the full dynamics (scalar) grid 255 255 ! (more efficient than multiple calls to tpot2t_p() with slices of data) 256 USE parallel , only : jj_begin,jj_end256 USE parallel_lmdz, only : jj_begin,jj_end 257 257 USE control_mod, only : planet_type 258 258 IMPLICIT none -
trunk/LMDZ.COMMON/libf/dyn3dpar/dissip_p.F
r1 r1019 1 1 SUBROUTINE dissip_p( vcov,ucov,teta,p, dv,du,dh ) 2 2 c 3 USE parallel 3 USE parallel_lmdz 4 4 USE write_field_p 5 5 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/diverg_gam_p.F
r1 r1019 9 9 c x et y etant des composantes covariantes ... 10 10 c ********************************************************************* 11 USE parallel 11 USE parallel_lmdz 12 12 IMPLICIT NONE 13 13 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/diverg_p.F
r1 r1019 8 8 c x et y etant des composantes covariantes ... 9 9 c ********************************************************************* 10 USE parallel 10 USE parallel_lmdz 11 11 IMPLICIT NONE 12 12 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/divergf_p.F
r1 r1019 8 8 c x et y etant des composantes covariantes ... 9 9 c ********************************************************************* 10 USE PARALLEL10 USE parallel_lmdz 11 11 IMPLICIT NONE 12 12 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/divgrad2_p.F
r1 r1019 10 10 c divgra est un argument de sortie pour le s-prg 11 11 c 12 USE parallel 12 USE parallel_lmdz 13 13 USE times 14 14 USE mod_hallo -
trunk/LMDZ.COMMON/libf/dyn3dpar/divgrad_p.F
r1 r1019 1 1 SUBROUTINE divgrad_p (klevel,h, lh, divgra_out ) 2 USE parallel 2 USE parallel_lmdz 3 3 USE times 4 4 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/dteta1_p.F
r1 r1019 1 1 SUBROUTINE dteta1_p ( teta, pbaru, pbarv, dteta) 2 USE parallel 2 USE parallel_lmdz 3 3 USE write_field_p 4 4 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/dudv1_p.F
r1 r1019 1 1 SUBROUTINE dudv1_p ( vorpot, pbaru, pbarv, du, dv ) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/dudv2_p.F
r1 r1019 1 1 SUBROUTINE dudv2_p ( teta, pkf, bern, du, dv ) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/dynredem_p.F
r907 r1019 7 7 USE IOIPSL 8 8 #endif 9 USE parallel 9 USE parallel_lmdz 10 10 USE infotrac 11 11 use netcdf95, only: NF95_PUT_VAR … … 580 580 SUBROUTINE dynredem1_p(fichnom,time, 581 581 . vcov,ucov,teta,q,masse,ps) 582 USE parallel 582 USE parallel_lmdz 583 583 USE infotrac 584 584 USE control_mod, only : planet_type -
trunk/LMDZ.COMMON/libf/dyn3dpar/enercin_p.F
r1 r1019 1 1 SUBROUTINE enercin_p ( vcov, ucov, vcont, ucont, ecin ) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/exner_hyb_p.F
r776 r1019 29 29 c 30 30 c 31 USE parallel 31 USE parallel_lmdz 32 32 IMPLICIT NONE 33 33 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/exner_milieu_p.F
r776 r1019 26 26 c ( voir note de Fr.Hourdin ) , 27 27 c 28 USE parallel 28 USE parallel_lmdz 29 29 IMPLICIT NONE 30 30 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/filtreg_p.F
r843 r1019 3 3 SUBROUTINE filtreg_p ( champ, ibeg, iend, nlat, nbniv, 4 4 & ifiltre, iaire, griscal ,iter) 5 USE Parallel, only : OMP_CHUNK5 USE parallel_lmdz, only : OMP_CHUNK 6 6 USE mod_filtre_fft 7 7 USE timer_filtre -
trunk/LMDZ.COMMON/libf/dyn3dpar/flumass_p.F
r1 r1019 1 1 SUBROUTINE flumass_p(massebx,masseby, vcont, ucont, pbaru, pbarv) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/fluxstokenc_p.F
r66 r1019 8 8 9 9 USE IOIPSL 10 USE parallel 10 USE parallel_lmdz 11 11 USE misc_mod 12 12 USE mod_hallo -
trunk/LMDZ.COMMON/libf/dyn3dpar/friction_p.F
r66 r1019 4 4 c======================================================================= 5 5 SUBROUTINE friction_p(ucov,vcov,pdt) 6 USE parallel 6 USE parallel_lmdz 7 7 USE control_mod 8 8 #ifdef CPP_IOIPSL -
trunk/LMDZ.COMMON/libf/dyn3dpar/gcm.F
r1017 r1019 10 10 #endif 11 11 12 13 #ifdef CPP_XIOS 14 ! ug Pour les sorties XIOS 15 USE wxios 16 #endif 17 12 18 USE mod_const_mpi, ONLY: init_const_mpi 13 USE parallel 19 USE parallel_lmdz 14 20 USE infotrac 15 21 USE mod_interface_dyn_phys … … 20 26 USE control_mod 21 27 use cpdet_mod, only: ini_cpdet 28 29 30 #ifdef INCA 31 ! Only INCA needs these informations (from the Earth's physics) 32 USE indice_sol_mod 33 #endif 22 34 23 35 ! Ehouarn: the following are needed with (parallel) physics: … … 207 219 208 220 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 221 ! Initialisation de XIOS 222 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 223 224 #ifdef CPP_XIOS 225 CALL wxios_init("LMDZ") 226 #endif 227 209 228 c 210 229 c Initialisations pour Cp(T) Venus -
trunk/LMDZ.COMMON/libf/dyn3dpar/geopot_p.F
r1 r1019 1 1 SUBROUTINE geopot_p ( ngrid, teta, pk, pks, phis, phi ) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/getparam.F90
r1 r1019 18 18 CONTAINS 19 19 SUBROUTINE ini_getparam(fichier) 20 USE parallel 20 USE parallel_lmdz 21 21 ! 22 22 IMPLICIT NONE … … 28 28 29 29 SUBROUTINE fin_getparam 30 USE parallel 30 USE parallel_lmdz 31 31 ! 32 32 IMPLICIT NONE … … 37 37 38 38 SUBROUTINE getparamr(TARGET,def_val,ret_val,comment) 39 USE parallel 39 USE parallel_lmdz 40 40 ! 41 41 IMPLICIT NONE … … 63 63 64 64 SUBROUTINE getparami(TARGET,def_val,ret_val,comment) 65 USE parallel 65 USE parallel_lmdz 66 66 ! 67 67 IMPLICIT NONE … … 90 90 91 91 SUBROUTINE getparaml(TARGET,def_val,ret_val,comment) 92 USE parallel 92 USE parallel_lmdz 93 93 ! 94 94 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/gr_dyn_fi_p.F
r776 r1019 7 7 USE mod_interface_dyn_phys 8 8 USE dimphy 9 USE PARALLEL9 USE parallel_lmdz 10 10 IMPLICIT NONE 11 11 c======================================================================= -
trunk/LMDZ.COMMON/libf/dyn3dpar/gr_fi_dyn_p.F
r776 r1019 7 7 USE mod_interface_dyn_phys 8 8 USE dimphy 9 use parallel 9 use parallel_lmdz 10 10 IMPLICIT NONE 11 11 c======================================================================= -
trunk/LMDZ.COMMON/libf/dyn3dpar/gr_u_scal_p.F
r1 r1019 25 25 c 26 26 c======================================================================= 27 USE parallel 27 USE parallel_lmdz 28 28 IMPLICIT NONE 29 29 c----------------------------------------------------------------------- -
trunk/LMDZ.COMMON/libf/dyn3dpar/gr_v_scal_p.F
r1 r1019 25 25 c 26 26 c======================================================================= 27 USE parallel 27 USE parallel_lmdz 28 28 IMPLICIT NONE 29 29 c----------------------------------------------------------------------- -
trunk/LMDZ.COMMON/libf/dyn3dpar/grad_p.F
r1 r1019 10 10 c pgx et pgy sont des arguments de sortie pour le s-prog 11 11 c 12 USE parallel 12 USE parallel_lmdz 13 13 IMPLICIT NONE 14 14 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/gradiv2_p.F
r1 r1019 13 13 c 14 14 c 15 USE parallel 15 USE parallel_lmdz 16 16 USE times 17 17 USE Write_field_p -
trunk/LMDZ.COMMON/libf/dyn3dpar/gradiv_p.F
r1 r1019 14 14 c 15 15 c 16 USE parallel 16 USE parallel_lmdz 17 17 USE times 18 18 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/groupe_p.F
r841 r1019 1 1 subroutine groupe_p(pext,pbaru,pbarv,pbarum,pbarvm,wm) 2 USE parallel 2 USE parallel_lmdz 3 3 implicit none 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/groupeun_p.F
r1 r1019 1 1 SUBROUTINE groupeun_p(jjmax,llmax,jjb,jje,q) 2 USE parallel 2 USE parallel_lmdz 3 3 USE Write_Field_p 4 4 IMPLICIT NONE … … 135 135 SUBROUTINE INIT_GROUPEUN_P(airen_tab, aires_tab) 136 136 137 USE parallel 137 USE parallel_lmdz 138 138 IMPLICIT NONE 139 139 -
trunk/LMDZ.COMMON/libf/dyn3dpar/guide_p_mod.F90
r979 r1019 292 292 !======================================================================= 293 293 SUBROUTINE guide_main(itau,ucov,vcov,teta,q,masse,ps) 294 use parallel 294 use parallel_lmdz 295 295 USE control_mod 296 296 … … 653 653 !======================================================================= 654 654 SUBROUTINE guide_interp(psi,teta) 655 USE parallel 655 USE parallel_lmdz 656 656 USE mod_hallo 657 657 USE Bands … … 1636 1636 !======================================================================= 1637 1637 SUBROUTINE guide_out(varname,hsize,vsize,field,factt) 1638 USE parallel 1638 USE parallel_lmdz 1639 1639 IMPLICIT NONE 1640 1640 -
trunk/LMDZ.COMMON/libf/dyn3dpar/inigeom.F
r1 r1019 426 426 radclatm = 0.5* rad * coslatm 427 427 c 428 ai14 = un4rad2 * coslatp * yprp 429 ai23 = un4rad2 * coslatm * yprm 428 430 DO 32 i = 1,iim 429 431 xprp = xprimp025( i ) 430 432 xprm = xprimm025( i ) 431 433 432 ai14 = un4rad2 * coslatp * yprp433 ai23 = un4rad2 * coslatm * yprm434 434 aireij1 ( i,j ) = ai14 * xprp 435 435 aireij2 ( i,j ) = ai23 * xprp -
trunk/LMDZ.COMMON/libf/dyn3dpar/initdynav_p.F
r1 r1019 8 8 USE IOIPSL 9 9 #endif 10 use parallel 10 use parallel_lmdz 11 11 use Write_field 12 12 use misc_mod -
trunk/LMDZ.COMMON/libf/dyn3dpar/initfluxsto_p.F
r7 r1019 10 10 USE IOIPSL 11 11 #endif 12 use parallel 12 use parallel_lmdz 13 13 use Write_field 14 14 use misc_mod -
trunk/LMDZ.COMMON/libf/dyn3dpar/inithist_p.F
r1 r1019 9 9 USE IOIPSL 10 10 #endif 11 use parallel 11 use parallel_lmdz 12 12 use Write_field 13 13 use misc_mod -
trunk/LMDZ.COMMON/libf/dyn3dpar/integrd_p.F
r907 r1019 5 5 $ ( nq,vcovm1,ucovm1,tetam1,psm1,massem1, 6 6 $ dv,du,dteta,dq,dp,vcov,ucov,teta,q,ps0,masse,phis) !,finvmaold) 7 USE parallel 7 USE parallel_lmdz 8 8 USE control_mod, only : planet_type 9 9 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/dyn3dpar/laplacien_gam_p.F
r1 r1019 11 11 c divgra est un argument de sortie pour le s-prog 12 12 c 13 USE parallel 13 USE parallel_lmdz 14 14 IMPLICIT NONE 15 15 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/laplacien_p.F
r1 r1019 9 9 c divgra est un argument de sortie pour le s-prog 10 10 c 11 USE parallel 11 USE parallel_lmdz 12 12 IMPLICIT NONE 13 13 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/laplacien_rot_p.F
r1 r1019 10 10 c rotout est un argument de sortie pour le s-prog 11 11 c 12 USE parallel 12 USE parallel_lmdz 13 13 IMPLICIT NONE 14 14 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/laplacien_rotgam_p.F
r1 r1019 9 9 c divgra est un argument de sortie pour le s-prog 10 10 c 11 USE parallel 11 USE parallel_lmdz 12 12 IMPLICIT NONE 13 13 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/leapfrog_p.F
r1018 r1019 9 9 10 10 USE misc_mod 11 USE parallel 11 USE parallel_lmdz 12 12 USE times 13 13 USE mod_hallo … … 24 24 use sponge_mod_p, only: callsponge,mode_sponge,sponge_p 25 25 26 #ifdef CPP_XIOS 27 ! ug Pour les sorties XIOS 28 USE wxios 29 #endif 26 30 IMPLICIT NONE 27 31 … … 1097 1101 ! Academic case : Simple friction and Newtonan relaxation 1098 1102 ! ------------------------------------------------------- 1103 c$OMP MASTER 1104 if (FirstPhysic) then 1105 ok_start_timer=.TRUE. 1106 FirstPhysic=.false. 1107 endif 1108 c$OMP END MASTER 1109 1099 1110 ijb=ij_begin 1100 1111 ije=ij_end … … 1517 1528 1518 1529 c$OMP MASTER 1530 1531 #ifdef CPP_XIOS 1532 !Fermeture propre de XIOS 1533 CALL wxios_close() 1534 #endif 1519 1535 call fin_getparam 1520 1536 call finalize_parallel -
trunk/LMDZ.COMMON/libf/dyn3dpar/massbar_p.F
r1 r1019 13 13 c 14 14 c 15 USE parallel 15 USE parallel_lmdz 16 16 IMPLICIT NONE 17 17 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/massbarxy_p.F
r1 r1019 1 1 SUBROUTINE massbarxy_p( masse, massebxy ) 2 USE parallel 2 USE parallel_lmdz 3 3 implicit none 4 4 c ********************************************************************** -
trunk/LMDZ.COMMON/libf/dyn3dpar/massdair_p.F
r1 r1019 1 1 SUBROUTINE massdair_p( p, masse ) 2 USE parallel 2 USE parallel_lmdz 3 3 c 4 4 c ********************************************************************* -
trunk/LMDZ.COMMON/libf/dyn3dpar/mod_hallo.F90
r1 r1019 1 1 module mod_Hallo 2 USE parallel 2 USE parallel_lmdz 3 3 implicit none 4 4 logical,save :: use_mpi_alloc -
trunk/LMDZ.COMMON/libf/dyn3dpar/nxgrad_gam_p.F
r1 r1019 9 9 c x et y sont des arguments de sortie pour le s-prog 10 10 c 11 USE parallel 11 USE parallel_lmdz 12 12 IMPLICIT NONE 13 13 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/nxgrad_p.F
r1 r1019 9 9 c x et y sont des arguments de sortie pour le s-prog 10 10 c 11 USE parallel 11 USE parallel_lmdz 12 12 IMPLICIT NONE 13 13 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/nxgraro2_p.F
r1 r1019 13 13 c 14 14 USE write_Field_p 15 USE parallel 15 USE parallel_lmdz 16 16 USE times 17 17 USE mod_hallo -
trunk/LMDZ.COMMON/libf/dyn3dpar/nxgrarot_p.F
r1 r1019 13 13 c 14 14 c 15 USE parallel 15 USE parallel_lmdz 16 16 USE times 17 17 USE write_field_p -
trunk/LMDZ.COMMON/libf/dyn3dpar/parallel_lmdz.F90
r1016 r1019 2 2 ! $Id: parallel.F90 1575 2011-09-21 13:57:48Z jghattas $ 3 3 ! 4 module parallel 4 module parallel_lmdz 5 5 USE mod_const_mpi 6 6 … … 587 587 ! NewField(ij_be 588 588 589 end module parallel 589 end module parallel_lmdz -
trunk/LMDZ.COMMON/libf/dyn3dpar/pression_p.F
r1 r1019 1 1 SUBROUTINE pression_p( ngrid, ap, bp, ps, p ) 2 USE parallel 2 USE parallel_lmdz 3 3 c 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/qminimum_p.F
r1 r1019 1 1 SUBROUTINE qminimum_p( q,nq,deltap ) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT none 4 4 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/rotat_nfil_p.F
r1 r1019 10 10 c rot est un argument de sortie pour le s-prog 11 11 c 12 USE parallel 12 USE parallel_lmdz 13 13 IMPLICIT NONE 14 14 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/rotat_p.F
r1 r1019 10 10 c rot est un argument de sortie pour le s-prog 11 11 c 12 USE parallel 12 USE parallel_lmdz 13 13 IMPLICIT NONE 14 14 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/rotatf_p.F
r1 r1019 10 10 c rot est un argument de sortie pour le s-prog 11 11 c 12 USE parallel 12 USE parallel_lmdz 13 13 IMPLICIT NONE 14 14 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/sponge_mod_p.F90
r1017 r1019 31 31 32 32 USE Write_Field_p 33 use parallel , only: pole_sud,pole_nord,jj_begin,jj_end33 use parallel_lmdz, only: pole_sud,pole_nord,jj_begin,jj_end 34 34 implicit none 35 35 #include "dimensions.h" -
trunk/LMDZ.COMMON/libf/dyn3dpar/times.F90
r1 r1019 25 25 26 26 subroutine init_timer 27 use parallel 27 use parallel_lmdz 28 28 implicit none 29 29 #include "dimensions.h" … … 101 101 102 102 subroutine stop_timer(no_timer) 103 use parallel 103 use parallel_lmdz 104 104 implicit none 105 105 integer :: no_timer … … 136 136 137 137 subroutine allgather_timer 138 use parallel 138 use parallel_lmdz 139 139 implicit none 140 140 #ifdef CPP_MPI … … 171 171 172 172 subroutine allgather_timer_average 173 use parallel 173 use parallel_lmdz 174 174 implicit none 175 175 #ifdef CPP_MPI -
trunk/LMDZ.COMMON/libf/dyn3dpar/top_bound_p.F
r1012 r1019 3 3 ! 4 4 SUBROUTINE top_bound_p(vcov,ucov,teta,masse,dt,ducov) 5 USE parallel 5 USE parallel_lmdz 6 6 IMPLICIT NONE 7 7 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/tourpot_p.F
r1 r1019 1 1 SUBROUTINE tourpot_p ( vcov, ucov, massebxy, vorpot ) 2 USE parallel 2 USE parallel_lmdz 3 3 IMPLICIT NONE 4 4 -
trunk/LMDZ.COMMON/libf/dyn3dpar/vitvert_p.F
r1 r1019 1 1 SUBROUTINE vitvert_p ( convm , w ) 2 2 c 3 USE parallel 3 USE parallel_lmdz 4 4 IMPLICIT NONE 5 5 -
trunk/LMDZ.COMMON/libf/dyn3dpar/vlsplt_p.F
r109 r1019 14 14 c 15 15 c -------------------------------------------------------------------- 16 USE parallel 16 USE parallel_lmdz 17 17 USE mod_hallo 18 18 USE Vampir … … 199 199 c 200 200 c -------------------------------------------------------------------- 201 USE Parallel 201 USE Parallel_lmdz 202 202 IMPLICIT NONE 203 203 c … … 534 534 c 535 535 c -------------------------------------------------------------------- 536 USE parallel 536 USE parallel_lmdz 537 537 IMPLICIT NONE 538 538 c … … 923 923 c 924 924 c -------------------------------------------------------------------- 925 USE Parallel 925 USE Parallel_lmdz 926 926 IMPLICIT NONE 927 927 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/vlspltgen_p.F
r1 r1019 22 22 c pk exner au milieu des couches necessaire pour calculer Qsat 23 23 c -------------------------------------------------------------------- 24 USE parallel 24 USE parallel_lmdz 25 25 USE mod_hallo 26 26 USE Write_Field_p -
trunk/LMDZ.COMMON/libf/dyn3dpar/vlspltqs_p.F
r1017 r1019 22 22 c pk exner au milieu des couches necessaire pour calculer Qsat 23 23 c -------------------------------------------------------------------- 24 USE parallel 24 USE parallel_lmdz 25 25 USE mod_hallo 26 26 USE VAMPIR … … 240 240 c 241 241 c -------------------------------------------------------------------- 242 USE parallel 242 USE parallel_lmdz 243 243 IMPLICIT NONE 244 244 c … … 592 592 c 593 593 c -------------------------------------------------------------------- 594 USE parallel 594 USE parallel_lmdz 595 595 IMPLICIT NONE 596 596 c -
trunk/LMDZ.COMMON/libf/dyn3dpar/write_field_p.F90
r1 r1019 9 9 10 10 subroutine write_field1D_p(name,Field) 11 USE parallel 11 USE parallel_lmdz 12 12 USE write_field 13 13 implicit none … … 30 30 31 31 subroutine write_field2D_p(name,Field) 32 USE parallel 32 USE parallel_lmdz 33 33 USE write_field 34 34 implicit none … … 51 51 52 52 subroutine write_field3D_p(name,Field) 53 USE parallel 53 USE parallel_lmdz 54 54 USE write_field 55 55 implicit none -
trunk/LMDZ.COMMON/libf/dyn3dpar/writedynav_p.F
r1 r1019 9 9 USE ioipsl 10 10 #endif 11 USE parallel 11 USE parallel_lmdz 12 12 USE misc_mod 13 13 USE infotrac -
trunk/LMDZ.COMMON/libf/dyn3dpar/writehist_p.F
r1 r1019 9 9 USE ioipsl 10 10 #endif 11 USE parallel 11 USE parallel_lmdz 12 12 USE misc_mod 13 13 USE infotrac -
trunk/LMDZ.COMMON/libf/filtrez/filtreg_mod.F90
r979 r1019 10 10 11 11 SUBROUTINE inifilr 12 #ifdef CPP_PARA 12 13 USE mod_filtre_fft, ONLY : use_filtre_fft,Init_filtre_fft 13 14 USE mod_filtre_fft_loc, ONLY : Init_filtre_fft_loc=>Init_filtre_fft ! 15 #endif 14 16 ! ... H. Upadhyaya, O.Sharma ... 15 17 ! … … 538 540 ENDDO ! of DO j = jfiltsu, jjm 539 541 542 #ifdef CPP_PARA 540 543 IF (use_filtre_fft) THEN 541 544 CALL Init_filtre_fft(coefilu,modfrstu,jfiltnu,jfiltsu, & … … 544 547 coefilv,modfrstv,jfiltnv,jfiltsv) 545 548 ENDIF 546 549 #endif 547 550 ! ................................................................... 548 551 -
trunk/LMDZ.COMMON/libf/filtrez/mod_filtre_fft.F90
r1 r1019 118 118 USE mod_fft 119 119 #ifdef CPP_PARA 120 USE parallel ,ONLY : OMP_CHUNK120 USE parallel_lmdz,ONLY : OMP_CHUNK 121 121 #endif 122 122 IMPLICIT NONE … … 179 179 USE mod_fft 180 180 #ifdef CPP_PARA 181 USE parallel ,ONLY : OMP_CHUNK181 USE parallel_lmdz,ONLY : OMP_CHUNK 182 182 #endif 183 183 IMPLICIT NONE … … 241 241 USE mod_fft 242 242 #ifdef CPP_PARA 243 USE parallel ,ONLY : OMP_CHUNK243 USE parallel_lmdz,ONLY : OMP_CHUNK 244 244 #endif 245 245 IMPLICIT NONE -
trunk/LMDZ.COMMON/libf/filtrez/mod_filtre_fft_loc.F90
r979 r1019 107 107 USE mod_fft 108 108 #ifdef CPP_PARA 109 USE parallel ,ONLY : OMP_CHUNK109 USE parallel_lmdz,ONLY : OMP_CHUNK 110 110 #endif 111 111 IMPLICIT NONE … … 187 187 USE mod_fft 188 188 #ifdef CPP_PARA 189 USE parallel ,ONLY : OMP_CHUNK189 USE parallel_lmdz,ONLY : OMP_CHUNK 190 190 #endif 191 191 IMPLICIT NONE … … 250 250 USE mod_fft 251 251 #ifdef CPP_PARA 252 USE parallel ,ONLY : OMP_CHUNK252 USE parallel_lmdz,ONLY : OMP_CHUNK 253 253 #endif 254 254 IMPLICIT NONE -
trunk/LMDZ.COMMON/makelmdz
r979 r1019 118 118 [-prod / -dev / -debug] : compilation mode production (default) / developement / debug . 119 119 [-c false/MPI1/MPI2] : (Earth) coupling with ocean model : MPI1/MPI2/false (default: false) 120 [-v false/true] : (Earth) with or without vegetation (default: false) 120 [-v false/orchidee2.0/orchidee1.9/true] : version of the vegetation model to include (default: false) 121 false : no vegetation model 122 orchidee2.0 : compile using ORCHIDEE 2.0 (or more recent version) 123 orchidee1.9 : compile using ORCHIDEE up to the version including OpenMP in ORCHIDEE : tag 1.9-1.9.5(version AR5)-1.9.6 124 true : (obsolete; for backward compatibility) use ORCHIDEE tag 1.9-1.9.6 125 121 126 [-chimie INCA/false] : (Earth) with INCA chemistry model or without (default: false) 122 127 [-cosp cosp/false] : (Earth) add the cosp model (default: false) … … 292 297 LIB="$LIB ${archfileopt}" 293 298 299 #NB some -I... might be located in the %FPP_FLAGS section of the arch file 300 archfileline=$( grep -i '^%FPP_FLAGS' arch.fcm ) 301 archfileopt=$( echo "-I"${archfileline##*-I} ) ## to be improved... 302 INCLUDE="$INCLUDE ${archfileopt}" 303 294 304 if [[ "$physique" != "nophys" ]] 295 305 then … … 338 348 FLAG_PARA='' 339 349 else 340 FLAG_PARA=" par"350 FLAG_PARA="$paramem" 341 351 fi 342 352 … … 383 393 fi 384 394 385 if [[ "$veget" == "true" ]] 386 then 395 if [ "$veget" = "true" -o "$veget" = "orchidee1.9" -o "$veget" = "orchidee2.0" ] 396 then 397 398 INCLUDE="${INCLUDE} -I${ORCH_INCDIR}" 387 399 CPP_KEY="$CPP_KEY CPP_VEGET" 388 INCLUDE="${INCLUDE} -I${ORCH_INCDIR}" 389 LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}sechiba -l${LIBPREFIX}parameters -l${LIBPREFIX}stomate -l${LIBPREFIX}parallel -l${LIBPREFIX}orglob" 400 # temporary, for Orchidee versions 1.9.* (before openmp activation) 401 if [[ "$veget" == "orchidee1.9" ]] ; then 402 CPP_KEY="$CPP_KEY ORCHIDEE_NOOPENMP" 403 fi 404 if [[ "$veget" == "orchidee2.0" ]] ; then 405 orch_libs="sechiba parameters stomate parallel orglob orchidee" 406 else 407 orch_libs="sechiba parameters stomate parallel orglob" 408 fi 409 LIB="${LIB} -L${ORCH_LIBDIR}" 410 for lib in ${orch_libs} ; do 411 if [ -f ${ORCH_LIBDIR}/lib${LIBPREFIX}$lib.a ] ; then 412 LIB="${LIB} -l${LIBPREFIX}$lib " 413 fi 414 done 415 elif [[ "$veget" != "false" ]] ; then 416 echo "Option -v $veget does not exist" 417 echo "Use ./makelmdz -h for more information" 418 exit 390 419 fi 391 420 … … 406 435 INCLUDE="$INCLUDE"' -I$(LIBF)/cosp' 407 436 fi 437 408 438 409 439 INCLUDE="$INCLUDE ${NETCDF_INCDIR}" … … 535 565 fi 536 566 537 if [[ $veget == "true" ]]567 if [[ $veget != "false" ]] 538 568 then 539 569 SUFF_NAME=${SUFF_NAME}_orch … … 645 675 646 676 # library directory name: 647 if [[ "$parallel" == "none" ]] 648 then 649 nomlib=${arch}_${physique}_${dim_full}_${grille}_${compil_mod} 650 else 651 nomlib=${arch}_${physique}_${dim_full}_${grille}_${compil_mod}_${FLAG_PARA} 652 fi 677 nomlib=`echo ${arch}_${physique}_${dim_full}_${grille}_${compil_mod}_parall${parallel}_${CPP_KEY}_${FLAG_PARA} | sed -e 's/ //g' -e 's/-//g ' | sed -e 's/CPP_//g'` 678 echo $nomlib 653 679 654 680 if [[ ! -d "${LIBOGCM}/${nomlib}" ]] -
trunk/LMDZ.COMMON/makelmdz_fcm
r979 r1019 32 32 bands="" 33 33 scatterers="" 34 job=1 35 full='' 34 36 35 37 LMDGCM=`/bin/pwd` … … 40 42 CHEM_PATH=$LMDGCM/.void_dir 41 43 # Path to fcm utility: 42 fcm_path=$LMDGCM/tools/fcm/bin 44 ##fcm_path=$LMDGCM/tools/fcm/bin 45 fcm_path=$(dirname $(which fcm)) 43 46 44 47 ######################################################################## … … 72 75 [-prod / -dev / -debug] : compilation mode production (default) / developement / debug . 73 76 [-c false/MPI1/MPI2] : (Earth) coupling with ocean model : MPI1/MPI2/false (default: false) 74 [-v false/true] : (Earth) with or without vegetation (default: false) 77 [-v false/orchidee2.0/orchidee1.9/true] : version of the vegetation model to include (default: false) 78 false : no vegetation model 79 orchidee2.0 : compile using ORCHIDEE 2.0 (or more recent version) 80 orchidee1.9 : compile using ORCHIDEE up to the version including OpenMP in ORCHIDEE : tag 1.9-1.9.5(version AR5)-1.9.6 81 true : (obsolete; for backward compatibility) use ORCHIDEE tag 1.9-1.9.6 75 82 [-chimie INCA/false] : (Earth) with INCA chemistry model or without (default: false) 76 83 [-cosp cosp/false] : (Earth) add the cosp model (default: false) … … 84 91 [-filtre NOMFILTRE] : use filtre from libf/NOMFILTRE (default: filtrez) 85 92 [-link LINKS] : additional links with other libraries 93 [-j n] : active parallel compiling on ntask 94 [-full] : full recompiling 86 95 [-fcm_path path] : path to the fcm tool (default: tools/fcm/bin) 87 96 [-ext_src path] : path to an additional set of routines to compile with the model … … 158 167 "-ext_src") 159 168 EXT_SRC=$2 ; shift ; shift ;; 169 170 "-j") 171 job=$2 ; shift ; shift ;; 172 173 "-full") 174 full="-full" ; shift ;; 160 175 161 176 "-arch") … … 259 274 fi 260 275 261 if [[ "$veget" == "true" ]] 262 then 276 if [ "$veget" = "true" -o "$veget" = "orchidee1.9" -o "$veget" = "orchidee2.0" ] 277 then 278 #NB: option 'true': for backward compatibility. To be used with ORCHIDEE tag 1.9-1.9.6 279 # For this case, cpp flag ORCHIDEE_NOOPENMP must be added to the makelmdz_fcm arguments 280 # option orchidee1.9 : Compile with ORCHIDEE version up to the inclusion of OpenMP in ORCHIDEE : tag 1.9-1.9.5(version AR5)-1.9.6 281 INCLUDE="${INCLUDE} -I${ORCH_INCDIR}" 263 282 CPP_KEY="$CPP_KEY CPP_VEGET" 264 INCLUDE="${INCLUDE} -I${ORCH_INCDIR}" 265 LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}sechiba -l${LIBPREFIX}parameters -l${LIBPREFIX}stomate -l${LIBPREFIX}parallel -l${LIBPREFIX}orglob" 283 # temporary, for Orchidee versions 1.9.* (before openmp activation) 284 if [[ "$veget" == "orchidee1.9" ]] ; then 285 CPP_KEY="$CPP_KEY ORCHIDEE_NOOPENMP" 286 fi 287 if [[ "$veget" == "orchidee2.0" ]] ; then 288 orch_libs=orchidee 289 else 290 orch_libs="sechiba parameters stomate parallel orglob" 291 fi 292 LIB="${LIB} -L${ORCH_LIBDIR}" 293 for lib in ${orch_libs} ; do 294 if [ -f ${ORCH_LIBDIR}/lib${LIBPREFIX}$lib.a ] ; then 295 LIB="${LIB} -l${LIBPREFIX}$lib " 296 fi 297 done 298 elif [[ "$veget" != "false" ]] ; then 299 echo "Option -v $veget does not exist" 300 echo "Use ./makelmdz_fcm -h for more information" 301 exit 266 302 fi 267 303 … … 444 480 fi 445 481 446 if [[ $veget == "true" ]]482 if [[ $veget != "false" ]] 447 483 then 448 484 SUFF_NAME=${SUFF_NAME}_orch … … 497 533 498 534 rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock 499 ./build_gcm 535 ./build_gcm ${fcm_path} -j $job $full 500 536 501 537 rm -rf tmp_src
Note: See TracChangeset
for help on using the changeset viewer.