| 1 | module nirdata_mod |
|---|
| 2 | |
|---|
| 3 | implicit none |
|---|
| 4 | |
|---|
| 5 | ! Number of pressures in NIR correction table |
|---|
| 6 | integer,parameter :: npres=42 |
|---|
| 7 | |
|---|
| 8 | real,save,protected :: pres1d(npres) |
|---|
| 9 | real,save,protected :: corgcm(npres) |
|---|
| 10 | real,save,protected :: oco21d(npres) |
|---|
| 11 | real,save,protected :: alfa(npres) |
|---|
| 12 | real,save,protected :: p1999(npres) |
|---|
| 13 | !$OMP THREADPRIVATE(pres1d,corgcm,oco21d,alfa,p1999) |
|---|
| 14 | |
|---|
| 15 | contains |
|---|
| 16 | |
|---|
| 17 | subroutine NIR_leedat |
|---|
| 18 | |
|---|
| 19 | ! reads parameters for NIR NLTE calculation |
|---|
| 20 | |
|---|
| 21 | ! nov 2011 fgg+malv first version |
|---|
| 22 | !*********************************************************************** |
|---|
| 23 | |
|---|
| 24 | use datafile_mod, only: datadir |
|---|
| 25 | USE mod_phys_lmdz_para, ONLY: is_master |
|---|
| 26 | USE mod_phys_lmdz_transfert_para, ONLY: bcast |
|---|
| 27 | |
|---|
| 28 | implicit none |
|---|
| 29 | |
|---|
| 30 | ! local variables |
|---|
| 31 | |
|---|
| 32 | integer :: ind |
|---|
| 33 | |
|---|
| 34 | if (is_master) then |
|---|
| 35 | open(43,file=trim(datadir)//'/NIRcorrection_feb2011.dat', & |
|---|
| 36 | status='old') |
|---|
| 37 | do ind=1,9 |
|---|
| 38 | read(43,*) |
|---|
| 39 | enddo |
|---|
| 40 | |
|---|
| 41 | do ind=1,npres |
|---|
| 42 | read(43,*)pres1d(ind),corgcm(ind),oco21d(ind),p1999(ind), & |
|---|
| 43 | alfa(ind) |
|---|
| 44 | !Tabulated pression to Pa |
|---|
| 45 | pres1d(ind)=pres1d(ind)*100. |
|---|
| 46 | enddo |
|---|
| 47 | close(43) |
|---|
| 48 | |
|---|
| 49 | endif ! if(is_master) then |
|---|
| 50 | |
|---|
| 51 | call bcast(pres1d) |
|---|
| 52 | call bcast(corgcm) |
|---|
| 53 | call bcast(oco21d) |
|---|
| 54 | call bcast(p1999) |
|---|
| 55 | call bcast(alfa) |
|---|
| 56 | |
|---|
| 57 | end subroutine NIR_leedat |
|---|
| 58 | |
|---|
| 59 | end module nirdata_mod |
|---|