Changeset 5267 for LMDZ6/trunk/libf/dyn3d_common
- Timestamp:
- Oct 23, 2024, 5:34:46 PM (8 months ago)
- Location:
- LMDZ6/trunk/libf/dyn3d_common
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d_common/conf_planete.F90
r4379 r5267 4 4 SUBROUTINE conf_planete 5 5 ! 6 #ifdef CPP_IOIPSL7 6 USE IOIPSL 8 #else9 ! if not using IOIPSL, we still need to use (a local version of) getin10 USE ioipsl_getincom11 #endif12 7 USE comconst_mod, ONLY: pi, g, molmass, kappa, cpp, omeg, rad, & 13 8 year_day, daylen, daysec, ihf -
LMDZ6/trunk/libf/dyn3d_common/disvert.F90
r4257 r5267 3 3 SUBROUTINE disvert() 4 4 5 #ifdef CPP_IOIPSL6 5 use ioipsl, only: getin 7 #else8 USE ioipsl_getincom, only: getin9 #endif10 6 use new_unit_m, only: new_unit 11 7 use assert_m, only: assert -
LMDZ6/trunk/libf/dyn3d_common/disvert_noterre.F90
r5246 r5267 6 6 ! On l'utilise aussi pour Venus et Titan, legerment modifiee. 7 7 8 #ifdef CPP_IOIPSL9 8 use IOIPSL 10 #else 11 ! if not using IOIPSL, we still need to use (a local version of) getin 12 use ioipsl_getincom 13 #endif 9 14 10 USE comvert_mod, ONLY: ap,bp,aps,bps,presnivs,pseudoalt, & 15 11 nivsig,nivsigs,pa,preff,scaleheight … … 24 20 ! 25 21 !======================================================================= 26 ! Discretisation verticale en coordonn ée hybride (ou sigma)22 ! Discretisation verticale en coordonn�e hybride (ou sigma) 27 23 ! 28 24 !======================================================================= … … 208 204 ! Calcul au milieu des couches : 209 205 ! WARNING : le choix de placer le milieu des couches au niveau de 210 ! pression interm édiaire est arbitraire et pourrait etre modifié.206 ! pression interm�diaire est arbitraire et pourrait etre modifi�. 211 207 ! Le calcul du niveau pour la derniere couche 212 208 ! (on met la meme distance (en log pression) entre P(llm) 213 209 ! et P(llm -1) qu'entre P(llm-1) et P(llm-2) ) est 214 ! Specifique. Ce choix est sp écifiéici ET dans exner_milieu.F210 ! Specifique. Ce choix est sp�cifi� ici ET dans exner_milieu.F 215 211 216 212 DO l = 1, llm-1 … … 284 280 ! L'objectif est de calculer newsig telle que 285 281 ! (1 -pa/preff)*exp(1-1./newsig**2)+(pa/preff)*newsig = sig 286 ! Cela ne se r ésoud pas analytiquement:287 ! => on r ésoud par iterration bourrine282 ! Cela ne se r�soud pas analytiquement: 283 ! => on r�soud par iterration bourrine 288 284 ! ---------------------------------------------- 289 285 ! Information : where exp(1-1./x**2) become << x … … 320 316 newsig=(X2+newsig)*0.5 321 317 end if 322 ! Test : on arete lorsque on approxime sig à moins de 0.01 m près318 ! Test : on arete lorsque on approxime sig � moins de 0.01 m pr�s 323 319 ! (en pseudo altitude) : 324 320 IF(abs(10.*log(F)).LT.1.E-5) goto 999 -
LMDZ6/trunk/libf/dyn3d_common/iniconst.F90
r2601 r5267 5 5 6 6 USE control_mod 7 #ifdef CPP_IOIPSL8 7 use IOIPSL 9 #else 10 ! if not using IOIPSL, we still need to use (a local version of) getin 11 use ioipsl_getincom 12 #endif 8 13 9 USE comconst_mod, ONLY: im, imp1, jm, jmp1, lllm, lllmm1, lllmp1, & 14 10 unsim, pi, r, kappa, cpp, dtvr, dtphys -
LMDZ6/trunk/libf/dyn3d_common/initdynav.F90
r4046 r5267 3 3 subroutine initdynav(day0,anne0,tstep,t_ops,t_wrt) 4 4 5 #ifdef CPP_IOIPSL6 5 USE IOIPSL 7 #endif8 6 USE infotrac, ONLY : nqtot 9 7 use com_io_dyn_mod, only : histaveid,histvaveid,histuaveid, & … … 47 45 real tstep, t_ops, t_wrt 48 46 49 #ifdef CPP_IOIPSL50 47 ! This routine needs IOIPSL to work 51 48 ! Variables locales … … 82 79 ! Creation de 3 fichiers pour les differentes grilles horizontales 83 80 ! Restriction de IOIPSL: seulement 2 coordonnees dans le meme fichier 84 ! Grille Scalaire 81 ! Grille Scalaire 85 82 call histbeg(dynhistave_file, iip1, rlong(:,1), jjp1, rlat(1,:), & 86 83 1, iip1, 1, jjp1, & … … 185 182 call histend(histuaveid) 186 183 call histend(histvaveid) 187 #else 188 write(lunout,*)"initdynav: Warning this routine should not be", & 189 " used without ioipsl" 190 #endif 191 ! of #ifdef CPP_IOIPSL 184 185 192 186 193 187 end subroutine initdynav -
LMDZ6/trunk/libf/dyn3d_common/initfluxsto.F90
r5246 r5267 6 6 fileid,filevid,filedid) 7 7 8 #ifdef CPP_IOIPSL9 8 USE IOIPSL 10 #endif11 9 USE comconst_mod, ONLY: pi 12 10 USE comvert_mod, ONLY: nivsigs … … 54 52 integer :: fileid, filevid,filedid 55 53 56 #ifdef CPP_IOIPSL57 54 ! This routine needs IOIPSL to work 58 55 ! Variables locales … … 222 219 endif 223 220 224 #else 225 ! tell the user this routine should be run with ioipsl 226 write(lunout,*)"initfluxsto: Warning this routine should not be", & 227 " used without ioipsl" 228 #endif 229 ! of #ifdef CPP_IOIPSL 221 222 230 223 return 231 224 end subroutine initfluxsto -
LMDZ6/trunk/libf/dyn3d_common/inithist.F90
r5246 r5267 4 4 subroutine inithist(day0,anne0,tstep,t_ops,t_wrt) 5 5 6 #ifdef CPP_IOIPSL7 6 USE IOIPSL 8 #endif9 7 USE infotrac, ONLY : nqtot 10 8 use com_io_dyn_mod, only : histid,histvid,histuid, & … … 52 50 real :: tstep, t_ops, t_wrt 53 51 54 #ifdef CPP_IOIPSL55 52 ! This routine needs IOIPSL to work 56 53 ! Variables locales … … 186 183 call histend(histuid) 187 184 call histend(histvid) 188 #else 189 ! tell the user this routine should be run with ioipsl 190 write(lunout,*)"inithist: Warning this routine should not be", & 191 " used without ioipsl" 192 #endif 193 ! of #ifdef CPP_IOIPSL 185 186 194 187 return 195 188 end subroutine inithist -
LMDZ6/trunk/libf/dyn3d_common/iso_verif_dyn.F90
r5214 r5267 33 33 34 34 LOGICAL FUNCTION iso_verif_aberrant_nostop(x, iso, q, err_msg) RESULT(lerr) 35 #ifdef CPP_IOIPSL36 35 USE IOIPSL, ONLY: getin 37 #else38 USE ioipsl_getincom, ONLY: getin39 #endif40 36 USE iso_params_mod, ONLY: tnat_HDO 41 37 IMPLICIT NONE -
LMDZ6/trunk/libf/dyn3d_common/writedynav.F90
r4046 r5267 3 3 subroutine writedynav(time, vcov, ucov, teta, ppk, phi, q, masse, ps, phis) 4 4 5 #ifdef CPP_IOIPSL6 5 USE ioipsl 7 #endif8 6 USE infotrac, ONLY : nqtot 9 7 use com_io_dyn_mod, only : histaveid, histvaveid, histuaveid … … 46 44 integer time 47 45 48 #ifdef CPP_IOIPSL49 46 ! This routine needs IOIPSL to work 50 47 ! Variables locales … … 53 50 INTEGER iq, ii, ll 54 51 real tm(ip1jmp1*llm) 55 REAL vnat(ip1jm, llm), unat(ip1jmp1, llm) 52 REAL vnat(ip1jm, llm), unat(ip1jmp1, llm) 56 53 logical ok_sync 57 54 integer itau_w … … 75 72 ! Appels a histwrite pour l'ecriture des variables a sauvegarder 76 73 77 ! Vents U 74 ! Vents U 78 75 79 76 call histwrite(histuaveid, 'u', itau_w, unat, & … … 129 126 ENDIF 130 127 131 #else 132 write(lunout, *) "writedynav: Warning this routine should not be", & 133 " used without ioipsl" 134 #endif 135 ! of #ifdef CPP_IOIPSL 128 129 136 130 137 131 end subroutine writedynav -
LMDZ6/trunk/libf/dyn3d_common/writehist.F90
r5246 r5267 4 4 subroutine writehist(time,vcov,ucov,teta,phi,q,masse,ps,phis) 5 5 6 #ifdef CPP_IOIPSL7 6 USE ioipsl 8 #endif9 7 USE infotrac, ONLY : nqtot 10 8 use com_io_dyn_mod, only : histid,histvid,histuid … … 53 51 54 52 55 #ifdef CPP_IOIPSL56 53 ! This routine needs IOIPSL to work 57 54 ! Variables locales … … 123 120 call histsync(histuid) 124 121 endif 125 #else 126 ! tell the user this routine should be run with ioipsl 127 write(lunout,*)"writehist: Warning this routine should not be", & 128 " used without ioipsl" 129 #endif 130 ! of #ifdef CPP_IOIPSL 122 123 131 124 return 132 125 end subroutine writehist
Note: See TracChangeset
for help on using the changeset viewer.