Changeset 3653 for trunk/LMDZ.GENERIC/libf
- Timestamp:
- Feb 27, 2025, 10:10:41 AM (4 months ago)
- Location:
- trunk/LMDZ.GENERIC/libf/phystd
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/gases_h.F90
r2831 r3653 16 16 character*20,allocatable,DIMENSION(:) :: gnom ! name of the gas, read by master 17 17 real,allocatable,DIMENSION(:) :: gfrac 18 19 real, save, allocatable :: massmol(:) ! mole mass of gas (g/mol) 18 20 19 21 ! in analogy with tracer.h ... … … 31 33 integer :: igas_C2H2 32 34 integer :: igas_C2H6 35 integer :: igas_Ar 33 36 !! GG MODIF Jan 2019 34 37 integer :: igas_OCS -
trunk/LMDZ.GENERIC/libf/phystd/initracer.F90
r3101 r3653 227 227 if (noms(iq).eq."co2") then 228 228 igcm_co2=iq 229 mmol(igcm_co2)=44. 229 mmol(igcm_co2)=44.010 230 230 count=count+1 231 231 ! write(*,*) 'co2: count=',count … … 233 233 if (noms(iq).eq."co2_ice") then 234 234 igcm_co2_ice=iq 235 mmol(igcm_co2_ice)=44. 235 mmol(igcm_co2_ice)=44.010 236 236 count=count+1 237 237 ! write(*,*) 'co2_ice: count=',count … … 239 239 if (noms(iq).eq."h2o_vap") then 240 240 igcm_h2o_vap=iq 241 mmol(igcm_h2o_vap)=18. 241 mmol(igcm_h2o_vap)=18.01528 242 242 count=count+1 243 243 ! write(*,*) 'h2o_vap: count=',count … … 245 245 if (noms(iq).eq."h2o_ice") then 246 246 igcm_h2o_ice=iq 247 mmol(igcm_h2o_ice)=18. 247 mmol(igcm_h2o_ice)=18.01528 248 248 count=count+1 249 249 ! write(*,*) 'h2o_ice: count=',count … … 251 251 if (noms(iq).eq."co") then 252 252 igcm_co=iq 253 mmol(igcm_co)=28. 253 mmol(igcm_co)=28.010 254 254 count=count+1 255 255 endif 256 256 if (noms(iq).eq."o") then 257 257 igcm_o=iq 258 mmol(igcm_o)=1 6.258 mmol(igcm_o)=15.9994 259 259 count=count+1 260 260 endif 261 261 if (noms(iq).eq."o1d") then 262 262 igcm_o1d=iq 263 mmol(igcm_o1d)=1 6.263 mmol(igcm_o1d)=15.9994 264 264 count=count+1 265 265 endif 266 266 if (noms(iq).eq."o2") then 267 267 igcm_o2=iq 268 mmol(igcm_o2)=3 2.268 mmol(igcm_o2)=31.998 269 269 count=count+1 270 270 endif 271 271 if (noms(iq).eq."o3") then 272 272 igcm_o3=iq 273 mmol(igcm_o3)=4 8.273 mmol(igcm_o3)=47.9982 274 274 count=count+1 275 275 endif 276 276 if (noms(iq).eq."h") then 277 277 igcm_h=iq 278 mmol(igcm_h)=1. 278 mmol(igcm_h)=1.00784 279 279 count=count+1 280 280 endif 281 281 if (noms(iq).eq."h2") then 282 282 igcm_h2=iq 283 mmol(igcm_h2)=2. 283 mmol(igcm_h2)=2.016 284 284 count=count+1 285 285 endif 286 286 if (noms(iq).eq."oh") then 287 287 igcm_oh=iq 288 mmol(igcm_oh)=17. 288 mmol(igcm_oh)=17.008 289 289 count=count+1 290 290 endif 291 291 if (noms(iq).eq."ho2") then 292 292 igcm_ho2=iq 293 mmol(igcm_ho2)=33. 293 mmol(igcm_ho2)=33.0067 294 294 count=count+1 295 295 endif 296 296 if (noms(iq).eq."h2o2") then 297 297 igcm_h2o2=iq 298 mmol(igcm_h2o2)=34. 298 mmol(igcm_h2o2)=34.0147 299 299 count=count+1 300 300 endif 301 301 if (noms(iq).eq."n2") then 302 302 igcm_n2=iq 303 mmol(igcm_n2)=28. 303 mmol(igcm_n2)=28.0134 304 304 count=count+1 305 305 endif 306 306 if (noms(iq).eq."ch4") then 307 307 igcm_ch4=iq 308 mmol(igcm_ch4)=16. 308 mmol(igcm_ch4)=16.0425 309 309 count=count+1 310 310 endif 311 311 if (noms(iq).eq."ar") then 312 312 igcm_ar=iq 313 mmol(igcm_ar)= 40.313 mmol(igcm_ar)=39.948 314 314 count=count+1 315 315 endif 316 316 if (noms(iq).eq."n") then 317 317 igcm_n=iq 318 mmol(igcm_n)=14. 318 mmol(igcm_n)=14.0067 319 319 count=count+1 320 320 endif 321 321 if (noms(iq).eq."no") then 322 322 igcm_no=iq 323 mmol(igcm_no)=30. 323 mmol(igcm_no)=30.0061 324 324 count=count+1 325 325 endif 326 326 if (noms(iq).eq."no2") then 327 327 igcm_no2=iq 328 mmol(igcm_no2)=46. 328 mmol(igcm_no2)=46.0055 329 329 count=count+1 330 330 endif 331 331 if (noms(iq).eq."n2d") then 332 332 igcm_n2d=iq 333 mmol(igcm_n2d)=28. 333 mmol(igcm_n2d)=28.0134 334 334 count=count+1 335 335 endif 336 336 if (noms(iq).eq."ch3") then 337 337 igcm_ch3=iq 338 mmol(igcm_ch3)=15. 338 mmol(igcm_ch3)=15.034 339 339 count=count+1 340 340 endif 341 341 if (noms(iq).eq."ch") then 342 342 igcm_ch=iq 343 mmol(igcm_ch)=13. 343 mmol(igcm_ch)=13.0186 344 344 count=count+1 345 345 endif 346 346 if (noms(iq).eq."3ch2") then 347 347 igcm_3ch2=iq 348 mmol(igcm_3ch2)=14. 348 mmol(igcm_3ch2)=14.0266 349 349 count=count+1 350 350 endif 351 351 if (noms(iq).eq."1ch2") then 352 352 igcm_1ch2=iq 353 mmol(igcm_1ch2)=14. 353 mmol(igcm_1ch2)=14.0266 354 354 count=count+1 355 355 endif 356 356 if (noms(iq).eq."cho") then 357 357 igcm_cho=iq 358 mmol(igcm_cho)=29. 358 mmol(igcm_cho)=29.018 359 359 count=count+1 360 360 endif 361 361 if (noms(iq).eq."ch2o") then 362 362 igcm_ch2o=iq 363 mmol(igcm_ch2o)=30. 363 mmol(igcm_ch2o)=30.031 364 364 count=count+1 365 365 endif 366 366 if (noms(iq).eq."ch3o") then 367 367 igcm_ch3o=iq 368 mmol(igcm_ch3o)=31. 368 mmol(igcm_ch3o)=31.0339 369 369 count=count+1 370 370 endif 371 371 if (noms(iq).eq."c") then 372 372 igcm_c=iq 373 mmol(igcm_c)=12. 373 mmol(igcm_c)=12.0107 374 374 count=count+1 375 375 endif 376 376 if (noms(iq).eq."c2") then 377 377 igcm_c2=iq 378 mmol(igcm_c2)=24. 378 mmol(igcm_c2)=24.0214 379 379 count=count+1 380 380 endif 381 381 if (noms(iq).eq."c2h") then 382 382 igcm_c2h=iq 383 mmol(igcm_c2h)=25. 383 mmol(igcm_c2h)=25.0293 384 384 count=count+1 385 385 endif 386 386 if (noms(iq).eq."c2h2") then 387 387 igcm_c2h2=iq 388 mmol(igcm_c2h2)=26. 388 mmol(igcm_c2h2)=26.038 389 389 count=count+1 390 390 endif 391 391 if (noms(iq).eq."c2h3") then 392 392 igcm_c2h3=iq 393 mmol(igcm_c2h3)=27. 393 mmol(igcm_c2h3)=27.0452 394 394 count=count+1 395 395 endif 396 396 if (noms(iq).eq."c2h4") then 397 397 igcm_c2h4=iq 398 mmol(igcm_c2h4)=28. 398 mmol(igcm_c2h4)=28.053 399 399 count=count+1 400 400 endif 401 401 if (noms(iq).eq."c2h6") then 402 402 igcm_c2h6=iq 403 mmol(igcm_c2h6)=30. 403 mmol(igcm_c2h6)=30.069 404 404 count=count+1 405 405 endif 406 406 if (noms(iq).eq."ch2co") then 407 407 igcm_ch2co=iq 408 mmol(igcm_ch2co)=42. 408 mmol(igcm_ch2co)=42.0367 409 409 count=count+1 410 410 endif 411 411 if (noms(iq).eq."ch3co") then 412 412 igcm_ch3co=iq 413 mmol(igcm_ch3co)=43. 413 mmol(igcm_ch3co)=43.0446 414 414 count=count+1 415 415 endif -
trunk/LMDZ.GENERIC/libf/phystd/su_gases.F90
r2831 r3653 19 19 ! 20 20 !================================================================== 21 21 22 22 23 !$OMP MASTER … … 69 70 ! assign the 'igas_X' labels 70 71 count=0 72 IF (.NOT.ALLOCATED(massmol)) ALLOCATE(massmol(ngasmx)) 71 73 do igas=1,ngasmx 72 74 if (trim(gnom(igas)).eq."H2_" .or. trim(gnom(igas)).eq."H2") then 73 75 igas_H2=igas 76 massmol(igas_H2)=2.016 74 77 count=count+1 75 78 elseif (trim(gnom(igas)).eq."He_" .or. trim(gnom(igas)).eq."He") then 76 79 igas_He=igas 80 massmol(igas_He)=4.002602 77 81 count=count+1 78 82 elseif (trim(gnom(igas)).eq."H2O") then 79 83 igas_H2O=igas 84 massmol(igas_H2O)=18.01528 80 85 count=count+1 81 86 elseif (trim(gnom(igas)).eq."CO2") then 82 87 igas_CO2=igas 88 massmol(igas_CO2)=44.010 83 89 count=count+1 84 90 elseif (trim(gnom(igas)).eq."CO_" .or. trim(gnom(igas)).eq."CO") then 85 91 igas_CO=igas 92 massmol(igas_CO)=28.010 86 93 count=count+1 87 94 elseif (trim(gnom(igas)).eq."N2_" .or. trim(gnom(igas)).eq."N2") then 88 95 igas_N2=igas 96 massmol(igas_N2)=28.0134 89 97 count=count+1 90 98 elseif (trim(gnom(igas)).eq."O2_" .or. trim(gnom(igas)).eq."O2") then 91 99 igas_O2=igas 100 massmol(igas_O2)=31.998 92 101 count=count+1 93 102 elseif (trim(gnom(igas)).eq."SO2") then 94 103 igas_SO2=igas 104 massmol(igas_SO2)=64.066 95 105 count=count+1 96 106 elseif (trim(gnom(igas)).eq."H2S") then 97 107 igas_H2S=igas 108 massmol(igas_H2S)=34.082 98 109 count=count+1 99 110 elseif (trim(gnom(igas)).eq."CH4") then 100 111 igas_CH4=igas 112 massmol(igas_CH4)=16.0425 101 113 count=count+1 102 114 elseif (trim(gnom(igas)).eq."NH3") then 103 115 igas_NH3=igas 116 massmol(igas_NH3)=17.031 104 117 count=count+1 105 118 elseif (trim(gnom(igas)).eq."C2H6") then 106 119 igas_C2H6=igas 120 massmol(igas_C2H6)=30.069 107 121 count=count+1 108 122 elseif (trim(gnom(igas)).eq."C2H2") then 109 123 igas_C2H2=igas 124 massmol(igas_C2H2)=26.038 125 count=count+1 126 elseif (trim(gnom(igas)).eq."Ar") then 127 igas_Ar=igas 128 massmol(igas_Ar)=39.948 110 129 count=count+1 111 130 !! GG MODIF 11 Jan 2019 112 131 elseif (trim(gnom(igas)).eq."OCS") then 113 132 igas_OCS=igas 133 massmol(igas_OCS)=60.075 114 134 count=count+1 115 135 elseif (trim(gnom(igas)).eq."HCl") then 116 136 igas_HCl=igas 137 massmol(igas_HCl)=36.461 117 138 count=count+1 118 139 elseif (trim(gnom(igas)).eq."HF") then 119 140 igas_HF=igas 141 massmol(igas_HF)=20.00634 120 142 count=count+1 121 143 endif
Note: See TracChangeset
for help on using the changeset viewer.