Changeset 3874 for trunk/LMDZ.COMMON/libf/dyn3d_common/disvert_noterre.F
- Timestamp:
- Aug 1, 2025, 4:03:00 PM (5 days ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/dyn3d_common/disvert_noterre.F
r1422 r3874 24 24 c 25 25 c======================================================================= 26 c Discretisation verticale en coordonn ée hybride (ou sigma)26 c Discretisation verticale en coordonn�e hybride (ou sigma) 27 27 c 28 28 c======================================================================= … … 138 138 READ(99,*) scaleheight 139 139 do l=1,llm 140 read(99,*) zsig(l) 140 read(99,*,iostat=ierr1) zsig(l) 141 if (ierr1 .ne. 0) then 142 write(lunout,*) 'ERROR with line ', l,' of z2sig.def' 143 call abort_gcm(modname, "z2sig.def too short?", 1) 144 endif 141 145 end do 146 ! Check if there are more lines to read in the file 147 read(99,*,iostat=ierr1) 148 if (ierr1 .eq. 0) then 149 write(lunout,*) 'ERROR: Expected nb of levels:', llm 150 call abort_gcm(modname, 151 & 'z2sig.def has more lines than expected', 1) 152 endif 142 153 CLOSE(99) 143 154 … … 208 219 c Calcul au milieu des couches : 209 220 c WARNING : le choix de placer le milieu des couches au niveau de 210 c pression interm édiaire est arbitraire et pourrait etre modifié.221 c pression interm�diaire est arbitraire et pourrait etre modifi�. 211 222 c Le calcul du niveau pour la derniere couche 212 223 c (on met la meme distance (en log pression) entre P(llm) 213 224 c et P(llm -1) qu'entre P(llm-1) et P(llm-2) ) est 214 c Specifique. Ce choix est sp écifiéici ET dans exner_milieu.F225 c Specifique. Ce choix est sp�cifi� ici ET dans exner_milieu.F 215 226 216 227 DO l = 1, llm-1 … … 284 295 c L'objectif est de calculer newsig telle que 285 296 c (1 -pa/preff)*exp(1-1./newsig**2)+(pa/preff)*newsig = sig 286 c Cela ne se r ésoud pas analytiquement:287 c => on r ésoud par iterration bourrine297 c Cela ne se r�soud pas analytiquement: 298 c => on r�soud par iterration bourrine 288 299 c ---------------------------------------------- 289 300 c Information : where exp(1-1./x**2) become << x … … 320 331 newsig=(X2+newsig)*0.5 321 332 end if 322 c Test : on arete lorsque on approxime sig à moins de 0.01 m près333 c Test : on arete lorsque on approxime sig � moins de 0.01 m pr�s 323 334 c (en pseudo altitude) : 324 335 IF(abs(10.*log(F)).LT.1.E-5) goto 999
Note: See TracChangeset
for help on using the changeset viewer.