- Timestamp:
- Nov 16, 2021, 3:23:31 PM (4 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r2579 r2584 3511 3511 Fixing missing case for hdo_ice in inichim_newstart 3512 3512 Should fix issue #25 on gitlab 3513 3514 == 16/11/2021 == RV 3515 Second stage of implementation of Open_MP in the physic. 3516 Run with callrad=.true. 3517 -
trunk/LMDZ.MARS/libf/phymars/aeropacity_mod.F
r2494 r2584 173 173 INTEGER,SAVE :: naerdust ! number of dust scatterers 174 174 175 !$OMP THREADPRIVATE(cstdustlevel,firstcall,i_ice, 176 !$OMP& i_co2ice,naerdust) 177 175 178 ! initializations 176 179 tau(1:ngrid,1:naerkind)=0 -
trunk/LMDZ.MARS/libf/phymars/aeroptproperties.F
r2398 r2584 40 40 REAL, SAVE, ALLOCATABLE :: refftabmax(:,:) 41 41 42 !$OMP THREADPRIVATE(varyingnueff,refftabmin,refftabmax) 43 42 44 c Log of the min and max variance of the interpolation grid 43 45 REAL, PARAMETER :: nuefftabmin = -4.6 … … 57 59 c Pi! 58 60 REAL,SAVE :: pi 61 62 !$OMP THREADPRIVATE(pi) 63 59 64 c Variables used by the Gauss-Legendre integration: 60 65 INTEGER radius_id,gausind … … 64 69 REAL weightgaus(ngau),radgaus(ngau) 65 70 SAVE weightgaus,radgaus 71 72 !$OMP THREADPRIVATE(weightgaus,radgaus) 73 66 74 c DATA weightgaus/.2955242247,.2692667193,.2190863625, 67 75 c & .1494513491,.0666713443/ … … 93 101 c Volume ratio of the grid 94 102 REAL,SAVE,ALLOCATABLE :: logvratgrid(:,:) 103 104 !$OMP THREADPRIVATE(refftab,nuefftab,logvratgrid) 105 95 106 c Grid used to remember which calculation is done 96 107 LOGICAL,SAVE,ALLOCATABLE :: checkgrid(:,:,:,:) … … 101 112 REAL,SAVE,ALLOCATABLE :: omegVISgrid(:,:,:,:) 102 113 REAL,SAVE,ALLOCATABLE :: gVISgrid(:,:,:,:) 114 115 !$OMP THREADPRIVATE(checkgrid,qsqrefVISgrid,qextVISgrid, 116 !$OMP& qscatVISgrid,omegVISgrid,gVISgrid) 117 118 103 119 c Optical properties of the grid (INFRARED) 104 120 REAL,SAVE,ALLOCATABLE :: qsqrefIRgrid(:,:,:,:) … … 107 123 REAL,SAVE,ALLOCATABLE :: omegIRgrid(:,:,:,:) 108 124 REAL,SAVE,ALLOCATABLE :: gIRgrid(:,:,:,:) 125 126 !$OMP THREADPRIVATE(qsqrefIRgrid,qextIRgrid,qscatIRgrid, 127 !$OMP& omegIRgrid,gIRgrid) 128 109 129 c Optical properties of the grid (REFERENCE WAVELENGTHS) 110 130 REAL,SAVE,ALLOCATABLE :: qrefVISgrid(:,:,:) … … 116 136 c Firstcall 117 137 LOGICAL,SAVE :: firstcall = .true. 138 139 !$OMP THREADPRIVATE(qrefVISgrid,qscatrefVISgrid,qrefIRgrid , 140 !$OMP& qscatrefIRgrid,omegrefVISgrid,omegrefIRgrid, 141 !$OMP& firstcall) 142 118 143 c Variables used by the Gauss-Legendre integration: 119 144 REAL,SAVE,ALLOCATABLE :: normd(:,:,:,:) … … 122 147 REAL,SAVE,ALLOCATABLE :: radGAUSa(:,:,:) 123 148 REAL,SAVE,ALLOCATABLE :: radGAUSb(:,:,:) 149 150 !$OMP THREADPRIVATE(normd,dista,distb,radGAUSa,radGAUSb) 124 151 125 152 REAL,SAVE,ALLOCATABLE :: qsqrefVISa(:,:,:) … … 134 161 REAL,SAVE,ALLOCATABLE :: gVISb(:,:,:) 135 162 163 !$OMP THREADPRIVATE(qsqrefVISa,qrefVISa,qsqrefVISb,qrefVISb, 164 !$OMP& omegVISa,omegrefVISa,omegVISb,omegrefVISb, 165 !$OMP& gVISa,gVISb) 166 136 167 REAL,SAVE,ALLOCATABLE :: qsqrefIRa(:,:,:) 137 168 REAL,SAVE,ALLOCATABLE :: qrefIRa(:,:) … … 145 176 REAL,SAVE,ALLOCATABLE :: gIRb(:,:,:) 146 177 178 !$OMP THREADPRIVATE(qsqrefIRa,qrefIRa,qsqrefIRb,qrefIRb, 179 !$OMP& omegIRa,omegrefIRa,omegIRb,omegrefIRb,gIRa,gIRb) 180 147 181 REAL :: radiusm 148 182 REAL :: radiusr … … 178 212 179 213 LOGICAL,SAVE :: out_qwg = .false. 214 215 !$OMP THREADPRIVATE(out_qwg) 216 180 217 INTEGER, PARAMETER :: out_iaer = 2 181 218 INTEGER :: out_ndim … … 304 341 305 342 DO iaer = 1, naerkind ! Loop on aerosol kind 343 306 344 IF ( (nsize(iaer,1).EQ.1).AND.(nsize(iaer,2).EQ.1) ) THEN 307 345 c================================================================== … … 460 498 ENDIF 461 499 ENDDO 500 462 501 c================================================================== 463 502 IF ( .NOT.varyingnueff(iaer) ) THEN ! CONSTANT NUEFF … … 540 579 & ) 541 580 ENDDO 581 542 582 IF (normd(j,1,iaer,idomain).EQ.1e-30) THEN 543 583 WRITE(*,*)"normd:", normd(j,1,iaer,idomain) -
trunk/LMDZ.MARS/libf/phymars/callradite_mod.F
r2494 r2584 289 289 290 290 real zco2 ! volume fraction of CO2 in Mars atmosphere 291 !$OMP THREADPRIVATE(zco2) 291 292 DATA zco2/0.95/ 292 293 SAVE zco2 293 294 294 295 LOGICAL firstcall 296 !$OMP THREADPRIVATE(firstcall) 295 297 DATA firstcall/.true./ 296 298 SAVE firstcall 299 300 297 301 298 302 c---------------------------------------------------------------------- … … 403 407 gcp = g/cpp 404 408 409 405 410 c Loading the optical properties in external look-up tables: 411 406 412 CALL SUAER 413 407 414 ! CALL SULW ! this step is now done in ini_yomlw_h 408 415 -
trunk/LMDZ.MARS/libf/phymars/dust_rad_adjust_mod.F90
r2417 r2584 7 7 real,save,allocatable :: dust_rad_adjust_next(:) ! adjustment coefficient 8 8 ! computed for t_scenario of the next sol 9 10 !$OMP THREADPRIVATE(dust_rad_adjust_prev,dust_rad_adjust_next) 9 11 10 12 contains -
trunk/LMDZ.MARS/libf/phymars/nlthermeq.F
r1775 r2584 22 22 integer igpmax, ismax 23 23 logical firstcall 24 25 !$OMP THREADPRIVATE(firstcall,igpmax) 26 24 27 data firstcall /.true./ 25 28 save firstcall, igpmax -
trunk/LMDZ.MARS/libf/phymars/read_dust_scenario.F90
r2449 r2584 39 39 integer, save :: timelen,lonlen,latlen 40 40 character(len=33),save :: filename 41 42 !$OMP THREADPRIVATE(firstcall,radeg,pi, & 43 !$OMP lat,lon,time,tautes, & 44 !$OMP timelen,lonlen,latlen,filename) 41 45 42 46 realday=mod(zday,669.) -
trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90
r2459 r2584 4 4 5 5 REAL, SAVE, ALLOCATABLE :: dustliftday(:) ! dust lifting rate (s-1) 6 7 !$OMP THREADPRIVATE(dustliftday) 6 8 7 9 CONTAINS -
trunk/LMDZ.MARS/libf/phymars/suaer.F90
r2494 r2584 13 13 nsize 14 14 use datafile_mod, only: datadir 15 USE mod_phys_lmdz_transfert_para, ONLY: bcast 15 16 IMPLICIT NONE 16 17 !================================================================== … … 60 61 gfactor ! Assymetry Factor 61 62 63 !$OMP THREADPRIVATE(wvl,radiusdyn,ep,omeg,gfactor) 64 62 65 ! Local variables: 63 66 … … 92 95 REAL gav(nir) ! Average assymetry parameter 93 96 97 !$OMP MASTER 98 94 99 !================================================================== 95 100 !---- Please indicate the names of the optical property files below … … 218 223 DO iaer = 1, naerkind ! Loop on aerosol kind 219 224 DO idomain = 1, 2 ! Loop on radiation domain (VIS or IR) 225 220 226 !================================================================== 221 227 ! 1. READ OPTICAL PROPERTIES … … 368 374 ! 1.4 Close the file 369 375 370 CLOSE(file_unit) 376 CLOSE(file_unit) 377 371 378 372 379 !================================================================== … … 540 547 DEALLOCATE(gfactor) ! g 541 548 549 550 542 551 END DO ! Loop on iaer 543 552 END DO ! Loop on idomain 553 554 !$OMP END MASTER 555 556 call bcast(longrefvis) 557 call bcast(longrefir) 558 call bcast(radiustab) 559 call bcast(gvis) 560 call bcast(omegavis) 561 call bcast(QVISsQREF) 562 call bcast(gIR) 563 call bcast(omegaIR) 564 call bcast(QIRsQREF) 565 call bcast(QREFvis) 566 call bcast(QREFir) 567 call bcast(omegaREFvis) 568 call bcast(omegaREFir) 569 call bcast(nsize) 570 544 571 !================================================================== 545 572 RETURN -
trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90
r2459 r2584 5 5 ! sub-grid scale mountain mesh fraction 6 6 REAL, SAVE, ALLOCATABLE :: alpha_hmons(:) 7 8 !$OMP THREADPRIVATE(alpha_hmons) 7 9 8 10 CONTAINS -
trunk/LMDZ.MARS/libf/phymars/updatereffrad_mod.F
r2562 r2584 104 104 EXTERNAL CBRT 105 105 106 107 !$OMP THREADPRIVATE(firstcall) 108 106 109 c================================================================== 107 110 c 1. Update radius from fields from dynamics or initial state
Note: See TracChangeset
for help on using the changeset viewer.