MODULE SURF_CHEM_MOD ! Max. fraction of vegetation type (LAI->infty) - issue de Orchidee REAL,ALLOCATABLE, SAVE, DIMENSION (:,:) :: maxvegetfrac_fromOrch !$OMP THREADPRIVATE(maxvegetfrac_fromOrch) ! repartition des types de surface = maxvegetfrac + sic + lic + oce REAL,ALLOCATABLE, SAVE, DIMENSION (:,:) :: surftype_frac !$OMP THREADPRIVATE(surftype_frac) ! Surface foliere REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: lai_fromOrch !$OMP THREADPRIVATE(lai_fromOrch) ! tableau contenant les emissions recuperees de orchidee REAL, DIMENSION(:,:,:), SAVE, ALLOCATABLE :: emiflx_fromOrch !$OMP THREADPRIVATE(emiflx_fromOrch) ! tabeau contenant les emissions ponderees par le type de surface REAL, DIMENSION(:,:), SAVE, ALLOCATABLE :: tot_emiflx_fromOrch !$OMP THREADPRIVATE(tot_emiflx_fromOrch) ! tableau contenant les fractions de types de vegetation (unitless, 0-1) REAL, DIMENSION(:,:), SAVE, ALLOCATABLE :: vegetfrac_fromOrch !$OMP THREADPRIVATE(vegetfrac_fromOrch) ! Mean top dry soil height (m) version beton REAL, DIMENSION(:), SAVE, ALLOCATABLE :: hdry_fromOrch !$OMP THREADPRIVATE(hdry_fromOrch) ! Snow mass [Kg/m^2] REAL, DIMENSION(:), SAVE, ALLOCATABLE :: snow_fromOrch !$OMP THREADPRIVATE(snow_fromOrch) ! id du fichier d'output veget INTEGER, SAVE :: veget_id !$OMP THREADPRIVATE(veget_id) ! noms des variables pour le fichier netcdf CHARACTER*(200), SAVE, ALLOCATABLE, DIMENSION(:) :: title_emi !$OMP THREADPRIVATE(title_emi) ! unites pour le fichier netcdf CHARACTER*(20), SAVE, ALLOCATABLE, DIMENSION(:) :: unit_emi !$OMP THREADPRIVATE(unit_emi) ! numero id des differents flux INTEGER, SAVE :: id_Orch_iso, id_Orch_apin, id_Orch_orvoc, id_Orch_mbo, id_Orch_ch3oh, id_Orch_ch3coch3, id_Orch_acetal, & id_Orch_formal, id_Orch_acetic, id_Orch_formic, id_Orch_no_soil, id_Orch_nox, id_Orch_fertil_no, & id_Orch_flx_apinen, id_Orch_bpinen, id_Orch_limonen, id_Orch_myrcen, id_Orch_sabinen, id_Orch_camphen, & id_Orch_3caren, id_Orch_tbocimen, id_Orch_othermono, id_Orch_sesquiter !$OMP THREADPRIVATE(id_Orch_iso, id_Orch_apin, id_Orch_orvoc, id_Orch_mbo, id_Orch_ch3oh, id_Orch_ch3coch3, id_Orch_acetal) !$OMP THREADPRIVATE(id_Orch_formal, id_Orch_acetic, id_Orch_formic, id_Orch_no_soil, id_Orch_nox, id_Orch_fertil_no) !$OMP THREADPRIVATE(id_Orch_flx_apinen, id_Orch_bpinen, id_Orch_limonen, id_Orch_myrcen, id_Orch_sabinen, id_Orch_camphen) !$OMP THREADPRIVATE(id_Orch_3caren, id_Orch_tbocimen, id_Orch_othermono, id_Orch_sesquiter) INTEGER, SAVE :: nbsurf ! nombre de type de surf (nbveget + sic + lic + oce) !OMP THREADPRIVATE(nbsurf) CONTAINS SUBROUTINE INIT_SURF_CHEM_MOD USE INCA_DIM USE IOIPSL USE PRINT_INCA USE PARAM_CHEM IMPLICIT NONE INTEGER :: i id_orch_iso = 0 id_orch_apin = 0 id_orch_orvoc = 0 id_orch_mbo = 0 id_orch_ch3oh = 0 id_orch_ch3coch3 = 0 id_orch_acetal = 0 id_orch_formal = 0 id_orch_acetic = 0 id_orch_formic = 0 id_orch_no_soil = 0 id_orch_nox = 0 id_orch_fertil_no = 0 id_orch_flx_apinen = 0 id_orch_bpinen = 0 id_orch_limonen = 0 id_orch_myrcen = 0 id_orch_sabinen = 0 id_orch_camphen = 0 id_orch_3caren = 0 id_orch_tbocimen = 0 id_orch_othermono = 0 id_orch_sesquiter = 0 nbsurf = nbveget + 3 IF (nb_flux .NE. 0) THEN ALLOCATE(emiflx_fromOrch(PLON,nbveget, nb_flux)) emiflx_fromOrch(:,:,:) = 0. allocate(tot_emiflx_fromOrch(PLON,nb_flux)) tot_emiflx_fromOrch(:,:) = 0. ALLOCATE(title_emi(nb_flux)) ALLOCATE(unit_emi(nb_flux)) ENDIF DO i=1, nb_flux SELECT CASE(TRIM(field_emi_names(i))) CASE("flx_iso") title_emi(i)="Isoprene emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_iso = i CASE("flx_mono") title_emi(i)="Monoterpene emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_apin = i CASE("flx_ORVOC") title_emi(i)="Other Volatile Organic Compound emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_orvoc = i CASE("flx_MBO") title_emi(i)="2-methyl-3-buten-2-ol emissions from vegetation (mainly pines in America)" unit_emi(i) = "kgC/m²/s " id_Orch_mbo = i CASE("flx_methanol") title_emi(i)="Methanol emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_ch3oh = i CASE("flx_acetone") title_emi(i)="Acetone emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_ch3coch3 = i CASE("flx_acetal") title_emi(i)="Acetaldehyde emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_acetal = i CASE("flx_formal") title_emi(i)="Formaldehyde emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_formal = i CASE("flx_acetic") title_emi(i)="Acetic acid emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_acetic = i CASE("flx_formic") title_emi(i)="Formic acid emissions from vegetation" unit_emi(i) = "kgC/m²/s " id_Orch_formic = i CASE("flx_no_soil") title_emi(i)="Nitrogen Oxide emissions from soil, before deposition on canopy" unit_emi(i) = "ngN/m²/s " id_Orch_no_soil = i CASE("flx_nox") title_emi(i)="Net nitrogen Oxide emissions from soil, after deposition on canopy" unit_emi(i) = "ngN/m²/s " id_Orch_nox = i CASE("flx_fertil_no") title_emi(i)="Nitrogen Oxide emission related ONLY to the use of fertilisers, before deposition on canopy" unit_emi(i) = "ngN/m²/s " id_Orch_fertil_no = i CASE("flx_apinen") title_emi(i)="" unit_emi(i) = "" id_Orch_flx_apinen = i CASE("flx_bpinen") title_emi(i)="" unit_emi(i) = "" id_Orch_bpinen = i CASE("flx_limonen") title_emi(i)="" unit_emi(i) = "" id_Orch_limonen = i CASE("flx_myrcen") title_emi(i)="" unit_emi(i) = "" id_Orch_myrcen = i CASE("flx_sabinen") title_emi(i)="" unit_emi(i) = "" id_Orch_sabinen = i CASE("flx_camphen") title_emi(i)="" unit_emi(i) = "" id_Orch_camphen = i CASE("flx_3caren") title_emi(i)="" unit_emi(i) = "" id_Orch_3caren = i CASE("flx_tbocimen") title_emi(i)="" unit_emi(i) = "" id_Orch_tbocimen = i CASE("flx_othermono") title_emi(i)="" unit_emi(i) = "" id_Orch_othermono = i CASE("flx_sesquiter") title_emi(i)="" unit_emi(i) = "" id_Orch_sesquiter = i CASE DEFAULT END SELECT ENDDO END SUBROUTINE INIT_SURF_CHEM_MOD END MODULE SURF_CHEM_MOD