Changeset 2694 for LMDZ5/trunk/libf
- Timestamp:
- Nov 1, 2016, 10:32:08 AM (8 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd/rrtm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/rrtm/readaerosolstrato1_rrtm.F90
r2550 r2694 2 2 ! $Id: readaerosolstrato1_rrtm.F90 2526 2016-05-26 22:13:40Z oboucher $ 3 3 ! 4 subroutinereadaerosolstrato1_rrtm(debut)5 6 use netcdf95, only: nf95_close, nf95_gw_var, nf95_inq_dimid, &4 SUBROUTINE readaerosolstrato1_rrtm(debut) 5 6 USE netcdf95, ONLY: nf95_close, nf95_gw_var, nf95_inq_dimid, & 7 7 nf95_inq_varid, nf95_open 8 use netcdf, only: nf90_get_var, nf90_noerr, nf90_nowrite8 USE netcdf, ONLY: nf90_get_var, nf90_noerr, nf90_nowrite 9 9 10 10 USE phys_cal_mod, ONLY : mth_cur … … 17 17 USE aero_mod 18 18 USE dimphy 19 USE YOERAD , ONLY : NLW 20 21 implicit none 22 23 include "YOMCST.h" 19 USE YOERAD, ONLY : NLW 20 USE YOMCST 21 22 IMPLICIT NONE 24 23 25 24 ! Variable input 26 logicaldebut25 LOGICAL debut 27 26 28 27 ! Variables locales 29 integern_lat ! number of latitudes in the input data30 integern_lon ! number of longitudes in the input data31 integern_lev ! number of levels in the input data32 integern_month ! number of months in the input data33 real, pointer:: latitude(:)34 real, pointer:: longitude(:)35 real, pointer:: time(:)36 real, pointer:: lev(:)37 integerk, band, wave, i38 integer, save:: mth_pre39 40 real, allocatable, dimension(:,:), save:: tau_aer_strat28 INTEGER n_lat ! number of latitudes in the input data 29 INTEGER n_lon ! number of longitudes in the input data 30 INTEGER n_lev ! number of levels in the input data 31 INTEGER n_month ! number of months in the input data 32 REAL, POINTER:: latitude(:) 33 REAL, POINTER:: longitude(:) 34 REAL, POINTER:: time(:) 35 REAL, POINTER:: lev(:) 36 INTEGER k, band, wave, i 37 INTEGER, SAVE :: mth_pre 38 39 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: tau_aer_strat 41 40 !$OMP THREADPRIVATE(tau_aer_strat) 42 41 43 42 ! Champs reconstitues 44 real, allocatable:: tauaerstrat(:, :, :, :)45 real, allocatable:: tauaerstrat_mois(:, :, :)46 real, allocatable:: tauaerstrat_mois_glo(:, :)47 48 real, allocatable:: sum_tau_aer_strat(:)43 REAL, ALLOCATABLE:: tauaerstrat(:, :, :, :) 44 REAL, ALLOCATABLE:: tauaerstrat_mois(:, :, :) 45 REAL, ALLOCATABLE:: tauaerstrat_mois_glo(:, :) 46 47 REAL, ALLOCATABLE:: sum_tau_aer_strat(:) 49 48 50 49 ! For NetCDF: 51 integerncid_in ! IDs for input files52 integervarid, ncerr50 INTEGER ncid_in ! IDs for input files 51 INTEGER varid, ncerr 53 52 54 53 ! Stratospheric aerosols optical properties 55 54 ! alpha_sw_strat over the 6 bands is normalised by the 550 nm extinction coefficient 56 real, dimension(nbands_sw_rrtm) :: alpha_sw_strat, piz_sw_strat, cg_sw_strat57 dataalpha_sw_strat/0.8545564, 0.8451642, 0.9821724, 0.8145110, 0.3073565, 7.7966176E-02/58 datacg_sw_strat /0.6997170, 0.6810035, 0.7403592, 0.7562674, 0.6676504, 0.3478689/59 datapiz_sw_strat /0.9999998, 0.9999998, 1.000000000, 0.9999958, 0.9977155, 0.4510679/55 REAL, DIMENSION(nbands_sw_rrtm) :: alpha_sw_strat, piz_sw_strat, cg_sw_strat 56 DATA alpha_sw_strat/0.8545564, 0.8451642, 0.9821724, 0.8145110, 0.3073565, 7.7966176E-02/ 57 DATA cg_sw_strat /0.6997170, 0.6810035, 0.7403592, 0.7562674, 0.6676504, 0.3478689/ 58 DATA piz_sw_strat /0.9999998, 0.9999998, 1.000000000, 0.9999958, 0.9977155, 0.4510679/ 60 59 ! 61 60 !--diagnostics AOD in the SW 62 61 ! alpha_sw_strat_wave is *not* normalised by the 550 nm extinction coefficient 63 real, dimension(nwave_sw) :: alpha_sw_strat_wave64 dataalpha_sw_strat_wave/3.708007,4.125824,4.136584,3.887478,3.507738/62 REAL, DIMENSION(nwave_sw) :: alpha_sw_strat_wave 63 DATA alpha_sw_strat_wave/3.708007,4.125824,4.136584,3.887478,3.507738/ 65 64 ! 66 65 !--diagnostics AOD in the LW at 10 um (not normalised by the 550 nm ext coefficient 67 real:: alpha_lw_strat_wave(nwave_lw)68 dataalpha_lw_strat_wave/0.2746812/69 ! 70 real, dimension(nbands_lw_rrtm) :: alpha_lw_abs_rrtm71 dataalpha_lw_abs_rrtm/ 8.8340312E-02, 6.9856711E-02, 6.2652975E-02, 5.7188231E-02, &66 REAL :: alpha_lw_strat_wave(nwave_lw) 67 DATA alpha_lw_strat_wave/0.2746812/ 68 ! 69 REAL, DIMENSION(nbands_lw_rrtm) :: alpha_lw_abs_rrtm 70 DATA alpha_lw_abs_rrtm/ 8.8340312E-02, 6.9856711E-02, 6.2652975E-02, 5.7188231E-02, & 72 71 6.3157059E-02, 5.5072524E-02, 5.0571125E-02, 0.1349073, & 73 72 0.1381676, 9.6506312E-02, 5.1312990E-02, 2.4256418E-02, & … … 237 236 tau_aero_lw_rrtm = MAX(tau_aero_lw_rrtm,1.e-15) 238 237 239 end subroutinereadaerosolstrato1_rrtm238 END SUBROUTINE readaerosolstrato1_rrtm -
LMDZ5/trunk/libf/phylmd/rrtm/readaerosolstrato2_rrtm.F90
r2550 r2694 2 2 ! $Id: readaerosolstrato2_rrtm.F90 2526 2016-05-26 22:13:40Z oboucher $ 3 3 ! 4 subroutinereadaerosolstrato2_rrtm(debut)5 6 use netcdf95, only: nf95_close, nf95_gw_var, nf95_inq_dimid, &4 SUBROUTINE readaerosolstrato2_rrtm(debut) 5 6 USE netcdf95, ONLY: nf95_close, nf95_gw_var, nf95_inq_dimid, & 7 7 nf95_inq_varid, nf95_open 8 use netcdf, only: nf90_get_var, nf90_noerr, nf90_nowrite8 USE netcdf, ONLY: nf90_get_var, nf90_noerr, nf90_nowrite 9 9 10 10 USE phys_cal_mod, ONLY : mth_cur … … 17 17 USE aero_mod 18 18 USE dimphy 19 USE YOERAD 20 21 implicit none 22 23 include "YOMCST.h" 19 USE YOERAD, ONLY : NLW 20 USE YOMCST 21 22 IMPLICIT NONE 23 24 24 INCLUDE "clesphys.h" 25 25 … … 28 28 29 29 ! Variable input 30 logical, intent(in) :: debut30 LOGICAL, INTENT(IN) :: debut 31 31 32 32 ! Variables locales 33 integer n_lat ! number of latitudes in the input data 34 integer n_lon ! number of longitudes 35 integer n_lev ! number of levels in the input data 36 integer n_month ! number of months in the input data 37 integer n_wav ! number of wavelengths in the input data 38 real, pointer:: latitude(:) 39 real, pointer:: longitude(:) 40 real, pointer:: time(:) 41 real, pointer:: lev(:) 42 real, pointer:: wav(:) 43 integer i,k,wave,band 44 integer, save :: mth_pre 45 46 real, allocatable, dimension(:,:,:), save :: tau_aer_strat 47 real, allocatable, dimension(:,:,:), save :: piz_aer_strat 48 real, allocatable, dimension(:,:,:), save :: cg_aer_strat 49 real, allocatable, dimension(:,:,:), save :: taulw_aer_strat 33 INTEGER n_lat ! number of latitudes in the input data 34 INTEGER n_lon ! number of longitudes 35 INTEGER n_lev ! number of levels in the input data 36 INTEGER n_month ! number of months in the input data 37 INTEGER n_wav ! number of wavelengths in the input data 38 REAL, POINTER:: latitude(:) 39 REAL, POINTER:: time(:) 40 REAL, POINTER:: lev(:) 41 REAL, POINTER:: wav(:) 42 INTEGER i,k,wave,band 43 INTEGER, SAVE :: mth_pre 44 45 REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: tau_aer_strat 46 REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: piz_aer_strat 47 REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: cg_aer_strat 48 REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: taulw_aer_strat 50 49 !$OMP THREADPRIVATE(tau_aer_strat,piz_aer_strat,cg_aer_strat,taulw_aer_strat) 51 50 52 51 ! Champs reconstitues 53 real, allocatable:: tauaerstrat(:, :, :, :)54 real, allocatable:: pizaerstrat(:, :, :, :)55 real, allocatable:: cgaerstrat(:, :, :, :)56 real, allocatable:: taulwaerstrat(:, :, :, :)57 58 real, allocatable:: tauaerstrat_mois(:, :, :, :)59 real, allocatable:: pizaerstrat_mois(:, :, :, :)60 real, allocatable:: cgaerstrat_mois(:, :, :, :)61 real, allocatable:: taulwaerstrat_mois(:, :, :, :)62 63 real, allocatable:: tauaerstrat_mois_glo(:, :, :)64 real, allocatable:: pizaerstrat_mois_glo(:, :, :)65 real, allocatable:: cgaerstrat_mois_glo(:, :, :)66 real, allocatable:: taulwaerstrat_mois_glo(:, :, :)52 REAL, ALLOCATABLE:: tauaerstrat(:, :, :, :) 53 REAL, ALLOCATABLE:: pizaerstrat(:, :, :, :) 54 REAL, ALLOCATABLE:: cgaerstrat(:, :, :, :) 55 REAL, ALLOCATABLE:: taulwaerstrat(:, :, :, :) 56 57 REAL, ALLOCATABLE:: tauaerstrat_mois(:, :, :, :) 58 REAL, ALLOCATABLE:: pizaerstrat_mois(:, :, :, :) 59 REAL, ALLOCATABLE:: cgaerstrat_mois(:, :, :, :) 60 REAL, ALLOCATABLE:: taulwaerstrat_mois(:, :, :, :) 61 62 REAL, ALLOCATABLE:: tauaerstrat_mois_glo(:, :, :) 63 REAL, ALLOCATABLE:: pizaerstrat_mois_glo(:, :, :) 64 REAL, ALLOCATABLE:: cgaerstrat_mois_glo(:, :, :) 65 REAL, ALLOCATABLE:: taulwaerstrat_mois_glo(:, :, :) 67 66 68 67 ! For NetCDF: 69 integerncid_in ! IDs for input files70 integervarid, ncerr68 INTEGER ncid_in ! IDs for input files 69 INTEGER varid, ncerr 71 70 72 71 !-------------------------------------------------------- … … 343 342 tau_aero_lw_rrtm = MAX(tau_aero_lw_rrtm,1.e-15) 344 343 345 end subroutinereadaerosolstrato2_rrtm344 END SUBROUTINE readaerosolstrato2_rrtm
Note: See TracChangeset
for help on using the changeset viewer.