[6610] | 1 | !! ========================================================================= |
---|
| 2 | !! INCA - INteraction with Chemistry and Aerosols |
---|
| 3 | !! |
---|
| 4 | !! Copyright Laboratoire des Sciences du Climat et de l'Environnement (LSCE) |
---|
| 5 | !! Unite mixte CEA-CNRS-UVSQ |
---|
| 6 | !! |
---|
| 7 | !! Contributors to this INCA subroutine: |
---|
| 8 | !! |
---|
| 9 | !! Anne Cozic, LSCE, anne.cozic@lsce.ipsl.fr |
---|
| 10 | !! Didier Hauglustaine, 11/2013. |
---|
| 11 | !! |
---|
| 12 | !! This software is a computer program whose purpose is to simulate the |
---|
| 13 | !! atmospheric gas phase and aerosol composition. The model is designed to be |
---|
| 14 | !! used within a transport model or a general circulation model. This version |
---|
| 15 | !! of INCA was designed to be coupled to the LMDz GCM. LMDz-INCA accounts |
---|
| 16 | !! for emissions, transport (resolved and sub-grid scale), photochemical |
---|
| 17 | !! transformations, and scavenging (dry deposition and washout) of chemical |
---|
| 18 | !! species and aerosols interactively in the GCM. Several versions of the INCA |
---|
| 19 | !! model are currently used depending on the envisaged applications with the |
---|
| 20 | !! chemistry-climate model. |
---|
| 21 | !! |
---|
| 22 | !! This software is governed by the CeCILL license under French law and |
---|
| 23 | !! abiding by the rules of distribution of free software. You can use, |
---|
| 24 | !! modify and/ or redistribute the software under the terms of the CeCILL |
---|
| 25 | !! license as circulated by CEA, CNRS and INRIA at the following URL |
---|
| 26 | !! "http://www.cecill.info". |
---|
| 27 | !! |
---|
| 28 | !! As a counterpart to the access to the source code and rights to copy, |
---|
| 29 | !! modify and redistribute granted by the license, users are provided only |
---|
| 30 | !! with a limited warranty and the software's author, the holder of the |
---|
| 31 | !! economic rights, and the successive licensors have only limited |
---|
| 32 | !! liability. |
---|
| 33 | !! |
---|
| 34 | !! In this respect, the user's attention is drawn to the risks associated |
---|
| 35 | !! with loading, using, modifying and/or developing or reproducing the |
---|
| 36 | !! software by the user in light of its specific status of free software, |
---|
| 37 | !! that may mean that it is complicated to manipulate, and that also |
---|
| 38 | !! therefore means that it is reserved for developers and experienced |
---|
| 39 | !! professionals having in-depth computer knowledge. Users are therefore |
---|
| 40 | !! encouraged to load and test the software's suitability as regards their |
---|
| 41 | !! requirements in conditions enabling the security of their systems and/or |
---|
| 42 | !! data to be ensured and, more generally, to use and operate it in the |
---|
| 43 | !! same conditions as regards security. |
---|
| 44 | !! |
---|
| 45 | !! The fact that you are presently reading this means that you have had |
---|
| 46 | !! knowledge of the CeCILL license and that you accept its terms. |
---|
| 47 | !! ========================================================================= |
---|
| 48 | #include <inca_define.h> |
---|
| 49 | |
---|
| 50 | #ifdef AER |
---|
| 51 | SUBROUTINE ini_diagnos(pdtphys, anne_ref, day_ref, longcm, latgcm, & |
---|
| 52 | presnivs, itau_phy) |
---|
| 53 | |
---|
| 54 | USE IOIPSL |
---|
| 55 | USE INCA_DIM |
---|
| 56 | USE AEROSOL_DIAG |
---|
| 57 | USE MOD_INCA_PARA |
---|
| 58 | USE MOD_GRID_INCA |
---|
| 59 | IMPLICIT NONE |
---|
| 60 | |
---|
| 61 | !----------------------------------------------------------------------------- |
---|
| 62 | ! Dummy arguments |
---|
| 63 | !----------------------------------------------------------------------------- |
---|
| 64 | REAL, INTENT(in) :: pdtphys ! physics integration time step (s) |
---|
| 65 | INTEGER, INTENT(in) :: anne_ref ! simulation start year |
---|
| 66 | INTEGER, INTENT(in) :: day_ref ! simulation start day |
---|
| 67 | REAL, INTENT(in) :: longcm(PLON) ! physics columns longitudes (gcm) |
---|
| 68 | REAL, INTENT(in) :: latgcm(PLON) ! physics columns latitudes (gcm) |
---|
| 69 | REAL, INTENT(in) :: presnivs(PLEV) !middle layer pressure(PA) |
---|
| 70 | INTEGER, INTENT(in) :: itau_phy |
---|
| 71 | |
---|
| 72 | |
---|
| 73 | !---------------------------------------------------------------------------- |
---|
| 74 | ! Local arguments |
---|
| 75 | !---------------------------------------------------------------------------- |
---|
| 76 | CHARACTER(len=15) :: filename ! file name |
---|
| 77 | INTEGER :: file_id |
---|
| 78 | INTEGER :: grid_id ! horizontal grid ID |
---|
| 79 | INTEGER :: vert_id ! vertical axe ID |
---|
| 80 | REAL :: zjulian |
---|
| 81 | REAL :: zx_lon(iim_glo,jj_nb) ! record grid points longitudes |
---|
| 82 | REAL :: zx_lat(iim_glo,jj_nb) ! record grid points latitudes |
---|
| 83 | REAL :: zx_lon_glo(iim_glo,jjm_glo) ! record grid points longitudes |
---|
| 84 | REAL :: zx_lat_glo(iim_glo,jjm_glo) ! record grid points latitudes |
---|
| 85 | REAL ::zsto ! variable s storage time step (s) |
---|
| 86 | REAL ::zout ! variable s record time step (s) |
---|
| 87 | REAL, dimension(PLON_GLO) :: lonlatgcm_glo_oth ! physics columns longitudes (gcm) |
---|
| 88 | |
---|
| 89 | |
---|
| 90 | filename='forcage' |
---|
| 91 | |
---|
| 92 | |
---|
| 93 | CALL ymds2ju(anne_ref, 1, day_ref, 0.0, zjulian) |
---|
| 94 | |
---|
| 95 | CALL gather(longcm, lonlatgcm_glo_oth) |
---|
| 96 | !$OMP MASTER |
---|
| 97 | IF (is_mpi_root) CALL grid1dTo2d_glo(lonlatgcm_glo_oth, zx_lon_glo) |
---|
| 98 | !$OMP END MASTER |
---|
| 99 | CALL bcast(zx_lon_glo) |
---|
| 100 | zx_lon_glo(2:,1)=zx_lon_glo(1,1) |
---|
| 101 | zx_lon_glo(2:,jjm_glo)=zx_lon_glo(1,jjm_glo) |
---|
| 102 | zx_lon(:,1:jj_nb)=zx_lon_glo(:,jj_begin:jj_end) |
---|
| 103 | |
---|
| 104 | CALL gather(latgcm, lonlatgcm_glo_oth) |
---|
| 105 | !$OMP MASTER |
---|
| 106 | IF (is_mpi_root) CALL grid1dTo2d_glo(lonlatgcm_glo_oth, zx_lat_glo) |
---|
| 107 | !$OMP END MASTER |
---|
| 108 | CALL bcast(zx_lat_glo) |
---|
| 109 | zx_lat_glo(2:,1)=zx_lat_glo(1,1) |
---|
| 110 | zx_lat_glo(2:,jjm_glo)=zx_lat_glo(1,jjm_glo) |
---|
| 111 | zx_lat(:,1:jj_nb)=zx_lat_glo(:,jj_begin:jj_end) |
---|
| 112 | |
---|
| 113 | zsto = pdtphys |
---|
| 114 | zout=PRINTSTEP |
---|
| 115 | |
---|
| 116 | |
---|
| 117 | !$OMP MASTER |
---|
| 118 | |
---|
| 119 | CALL histbeg(filename, iim_glo, zx_lon(:,2), jj_nb, zx_lat(1,:), 1, iim_glo,1, & |
---|
| 120 | jj_nb, itau_phy, zjulian, pdtphys, grid_id, file_id,domain_id=inca_domain_id) |
---|
| 121 | |
---|
| 122 | CALL histvert(file_id, "presnivs", "presnivs", "mb", PLEV, presnivs, vert_id) |
---|
| 123 | |
---|
| 124 | CALL histdef(file_id,"taucld","cloud opt thickness","-",iim_glo,jj_nb,grid_id,PLEV,1,PLEV,vert_id,32,"ave(X)",zsto,zout) |
---|
| 125 | CALL histdef(file_id,"CCM1","CCM1","",iim_glo,jj_nb,grid_id,PLEV,1,PLEV,vert_id,32,"ave(X)",zsto,zout) |
---|
| 126 | CALL histdef(file_id,"CCM2","CCM2","",iim_glo,jj_nb,grid_id,PLEV,1,PLEV,vert_id,32,"ave(X)",zsto,zout) |
---|
| 127 | CALL histdef(file_id,"taucldpi","cloud opt thickn. (pi)","-",iim_glo,jj_nb,grid_id,PLEV,1,PLEV,vert_id,32,"ave(X)",zsto,zout) |
---|
| 128 | CALL histdef(file_id,"cldemi","emissivite IR","-",iim_glo,jj_nb,grid_id,PLEV,1,PLEV,vert_id,32,"ave(X)",zsto,zout) |
---|
| 129 | CALL histdef(file_id,"tautot_550","?","?",iim_glo,jj_nb,grid_id,1,1,1,vert_id,32,"ave(X)",zsto,zout) |
---|
| 130 | CALL histdef(file_id,"tauant_550","?","?",iim_glo,jj_nb,grid_id,1,1,1,vert_id,32,"ave(X)",zsto,zout) |
---|
| 131 | CALL histdef(file_id,"taunat_550","?","?",iim_glo,jj_nb,grid_id,1,1,1,vert_id,32,"ave(X)",zsto,zout) |
---|
| 132 | #ifndef DUST |
---|
| 133 | !!! RV FLUXES |
---|
| 134 | |
---|
| 135 | CALL histdef(file_id,"FSWTOAAS_ZERO","All sky FLSW-RF zero at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 136 | CALL histdef(file_id,"FSWTOAAS_AER" ,"All sky FLSW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 137 | CALL histdef(file_id,"FSWTOAAS_NAT" ,"All sky FLSW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 138 | CALL histdef(file_id,"FSWTOAAS_BC" ,"All sky FLSW-RF bc at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 139 | CALL histdef(file_id,"FSWTOAAS_SO4" ,"All sky FLSW-RF so4 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 140 | CALL histdef(file_id,"FSWTOAAS_FNO3" ,"All sky FLSW-RF fno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 141 | CALL histdef(file_id,"FSWTOAAS_POM" ,"All sky FLSW-RF pom at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 142 | CALL histdef(file_id,"FSWTOAAS_DUSS","All sky FLSW-RF duss TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 143 | CALL histdef(file_id,"FSWTOAAS_CNO3" ,"All sky FLSW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 144 | CALL histdef(file_id,"FSWTOAAS_AI" ,"Flux+dir+ind forc at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 145 | |
---|
| 146 | CALL histdef(file_id,"FSWTOACS_ZERO","Clear sky FLSW-RF zero TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 147 | CALL histdef(file_id,"FSWTOACS_AER" ,"Clear sky FLSW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 148 | CALL histdef(file_id,"FSWTOACS_NAT" ,"Clear sky FLSW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 149 | CALL histdef(file_id,"FSWTOACS_BC" ,"Clear sky FLSW-RF bc at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 150 | CALL histdef(file_id,"FSWTOACS_SO4" ,"Clear sky FLSW-RF so4 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 151 | CALL histdef(file_id,"FSWTOACS_FNO3" ,"Clear sky FLSW-RF fno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 152 | CALL histdef(file_id,"FSWTOACS_POM" ,"Clear sky FLSW-RF pom at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 153 | CALL histdef(file_id,"FSWTOACS_DUSS","Clear sky FLSW-RF duss TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 154 | CALL histdef(file_id,"FSWTOACS_CNO3" ,"Clear sky FLSW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 155 | |
---|
| 156 | CALL histdef(file_id,"FSWSRFAS_ZERO","All sky FLSW-RF zero at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 157 | CALL histdef(file_id,"FSWSRFAS_AER" ,"All sky FLSW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 158 | CALL histdef(file_id,"FSWSRFAS_NAT" ,"All sky FLSW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 159 | CALL histdef(file_id,"FSWSRFAS_BC" ,"All sky FLSW-RF bc at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 160 | CALL histdef(file_id,"FSWSRFAS_SO4" ,"All sky FLSW-RF so4 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 161 | CALL histdef(file_id,"FSWSRFAS_FNO3" ,"All sky FLSW-RF fno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 162 | CALL histdef(file_id,"FSWSRFAS_POM" ,"All sky FLSW-RF pom at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 163 | CALL histdef(file_id,"FSWSRFAS_DUSS","All sky FLSW-RF duss SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 164 | CALL histdef(file_id,"FSWSRFAS_CNO3" ,"All sky FLSW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 165 | CALL histdef(file_id,"FSWSRFAS_AI" ,"Flux+dir+ind forc at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 166 | |
---|
| 167 | CALL histdef(file_id,"FSWSRFCS_ZERO","Clear sky FLSW-RF zero SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 168 | CALL histdef(file_id,"FSWSRFCS_AER" ,"Clear sky FLSW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 169 | CALL histdef(file_id,"FSWSRFCS_NAT" ,"Clear sky FLSW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 170 | CALL histdef(file_id,"FSWSRFCS_BC" ,"Clear sky FLSW-RF bc at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 171 | CALL histdef(file_id,"FSWSRFCS_SO4" ,"Clear sky FLSW-RF so4 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 172 | CALL histdef(file_id,"FSWSRFCS_FNO3" ,"Clear sky FLSW-RF fno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 173 | CALL histdef(file_id,"FSWSRFCS_POM" ,"Clear sky FLSW-RF pom at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 174 | CALL histdef(file_id,"FSWSRFCS_DUSS","Clear sky FLSW-RF duss SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 175 | CALL histdef(file_id,"FSWSRFCS_CNO3" ,"Clear sky FLSW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 176 | |
---|
| 177 | !!! RV FORCINGS |
---|
| 178 | |
---|
| 179 | CALL histdef(file_id,"SWTOAAS_ANT","All sky SW-RF antr at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 180 | CALL histdef(file_id,"SWTOAAS_AER" ,"All sky SW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 181 | CALL histdef(file_id,"SWTOAAS_NAT" ,"All sky SW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 182 | CALL histdef(file_id,"SWTOAAS_BC" ,"All sky SW-RF bc at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 183 | CALL histdef(file_id,"SWTOAAS_SO4" ,"All sky SW-RF so4 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 184 | CALL histdef(file_id,"SWTOAAS_FNO3" ,"All sky SW-RF fno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 185 | CALL histdef(file_id,"SWTOAAS_POM" ,"All sky SW-RF pom at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 186 | CALL histdef(file_id,"SWTOAAS_DUSS","All sky SW-RF duss at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 187 | CALL histdef(file_id,"SWTOAAS_CNO3" ,"All sky SW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 188 | CALL histdef(file_id,"SWTOAAS_AI" ,"Antr Ind.Forc. at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 189 | |
---|
| 190 | CALL histdef(file_id,"SWTOACS_ANT","Clear sky SW-RF antr at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 191 | CALL histdef(file_id,"SWTOACS_AER" ,"Clear sky SW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 192 | CALL histdef(file_id,"SWTOACS_NAT" ,"Clear sky SW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 193 | CALL histdef(file_id,"SWTOACS_BC" ,"Clear sky SW-RF bc at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 194 | CALL histdef(file_id,"SWTOACS_SO4" ,"Clear sky SW-RF so4 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 195 | CALL histdef(file_id,"SWTOACS_FNO3" ,"Clear sky SW-RF fno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 196 | CALL histdef(file_id,"SWTOACS_POM" ,"Clear sky SW-RF pom at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 197 | CALL histdef(file_id,"SWTOACS_DUSS","Clear sky SW-RF duss at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 198 | CALL histdef(file_id,"SWTOACS_CNO3" ,"Clear sky SW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 199 | |
---|
| 200 | CALL histdef(file_id,"SWSRFAS_ANT","All sky SW-RF antr at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 201 | CALL histdef(file_id,"SWSRFAS_AER" ,"All sky SW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 202 | CALL histdef(file_id,"SWSRFAS_NAT" ,"All sky SW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 203 | CALL histdef(file_id,"SWSRFAS_BC" ,"All sky SW-RF bc at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 204 | CALL histdef(file_id,"SWSRFAS_SO4" ,"All sky SW-RF so4 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 205 | CALL histdef(file_id,"SWSRFAS_FNO3" ,"All sky SW-RF fno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 206 | CALL histdef(file_id,"SWSRFAS_POM" ,"All sky SW-RF pom at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 207 | CALL histdef(file_id,"SWSRFAS_DUSS","All sky SW-RF duss at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 208 | CALL histdef(file_id,"SWSRFAS_CNO3" ,"All sky SW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 209 | CALL histdef(file_id,"SWSRFAS_AI" ,"Antr Ind.Forc. at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 210 | |
---|
| 211 | CALL histdef(file_id,"SWSRFCS_ANT","Clear sky SW-RF antr at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 212 | CALL histdef(file_id,"SWSRFCS_AER" ,"Clear sky SW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 213 | CALL histdef(file_id,"SWSRFCS_NAT" ,"Clear sky SW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 214 | CALL histdef(file_id,"SWSRFCS_BC" ,"Clear sky SW-RF bc at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 215 | CALL histdef(file_id,"SWSRFCS_SO4" ,"Clear sky SW-RF so4 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 216 | CALL histdef(file_id,"SWSRFCS_FNO3" ,"Clear sky SW-RF fno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 217 | CALL histdef(file_id,"SWSRFCS_POM" ,"Clear sky SW-RF pom at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 218 | CALL histdef(file_id,"SWSRFCS_DUSS","Clear sky SW-RF duss at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 219 | CALL histdef(file_id,"SWSRFCS_CNO3" ,"Clear sky SW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 220 | #else |
---|
| 221 | !!! RV FLUXES |
---|
| 222 | CALL histdef(file_id,"FSWTOAAS_ZERO","All sky FLSW-RF zero at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 223 | CALL histdef(file_id,"FSWTOAAS_AER" ,"All sky FLSW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 224 | CALL histdef(file_id,"FSWTOAAS_NAT" ,"All sky FLSW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 225 | CALL histdef(file_id,"FSWTOAAS_DUST","All sky FLSW-RF duss TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 226 | CALL histdef(file_id,"FSWTOAAS_SS" ,"All sky FLSW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 227 | CALL histdef(file_id,"FSWTOAAS_AI" ,"Flux+dir+ind forc at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 228 | |
---|
| 229 | CALL histdef(file_id,"FSWTOACS_ZERO","Clear sky FLSW-RF zero TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 230 | CALL histdef(file_id,"FSWTOACS_AER" ,"Clear sky FLSW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 231 | CALL histdef(file_id,"FSWTOACS_NAT" ,"Clear sky FLSW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 232 | CALL histdef(file_id,"FSWTOACS_DUST","Clear sky FLSW-RF duss TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 233 | CALL histdef(file_id,"FSWTOACS_SS" ,"Clear sky FLSW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 234 | |
---|
| 235 | CALL histdef(file_id,"FSWSRFAS_ZERO","All sky FLSW-RF zero at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 236 | CALL histdef(file_id,"FSWSRFAS_AER" ,"All sky FLSW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 237 | CALL histdef(file_id,"FSWSRFAS_NAT" ,"All sky FLSW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 238 | CALL histdef(file_id,"FSWSRFAS_DUST","All sky FLSW-RF duss SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 239 | CALL histdef(file_id,"FSWSRFAS_SS" ,"All sky FLSW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 240 | CALL histdef(file_id,"FSWSRFAS_AI" ,"Flux+dir+ind forc at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 241 | |
---|
| 242 | CALL histdef(file_id,"FSWSRFCS_ZERO","Clear sky FLSW-RF zero SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 243 | CALL histdef(file_id,"FSWSRFCS_AER" ,"Clear sky FLSW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 244 | CALL histdef(file_id,"FSWSRFCS_NAT" ,"Clear sky FLSW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 245 | CALL histdef(file_id,"FSWSRFCS_DUST","Clear sky FLSW-RF duss SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 246 | CALL histdef(file_id,"FSWSRFCS_SS" ,"Clear sky FLSW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 247 | |
---|
| 248 | !!! RV FORCINGS |
---|
| 249 | |
---|
| 250 | CALL histdef(file_id,"SWTOAAS_ANT","All sky SW-RF antr at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 251 | CALL histdef(file_id,"SWTOAAS_AER" ,"All sky SW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 252 | CALL histdef(file_id,"SWTOAAS_NAT" ,"All sky SW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 253 | CALL histdef(file_id,"SWTOAAS_DUST","All sky SW-RF duss at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 254 | CALL histdef(file_id,"SWTOAAS_SS" ,"All sky SW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 255 | CALL histdef(file_id,"SWTOAAS_AI" ,"Antr Ind.Forc. at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 256 | |
---|
| 257 | CALL histdef(file_id,"SWTOACS_ANT","Clear sky SW-RF antr at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 258 | CALL histdef(file_id,"SWTOACS_AER" ,"Clear sky SW-RF aer at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 259 | CALL histdef(file_id,"SWTOACS_NAT" ,"Clear sky SW-RF nat at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 260 | CALL histdef(file_id,"SWTOACS_DUST","Clear sky SW-RF duss at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 261 | CALL histdef(file_id,"SWTOACS_SS" ,"Clear sky SW-RF cno3 at TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 262 | |
---|
| 263 | CALL histdef(file_id,"SWSRFAS_ANT","All sky SW-RF antr at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 264 | CALL histdef(file_id,"SWSRFAS_AER" ,"All sky SW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 265 | CALL histdef(file_id,"SWSRFAS_NAT" ,"All sky SW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 266 | CALL histdef(file_id,"SWSRFAS_DUST","All sky SW-RF duss at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 267 | CALL histdef(file_id,"SWSRFAS_SS" ,"All sky SW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 268 | CALL histdef(file_id,"SWSRFAS_AI" ,"Antr Ind.Forc. at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 269 | |
---|
| 270 | CALL histdef(file_id,"SWSRFCS_ANT","Clear sky SW-RF antr at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 271 | CALL histdef(file_id,"SWSRFCS_AER" ,"Clear sky SW-RF aer at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 272 | CALL histdef(file_id,"SWSRFCS_NAT" ,"Clear sky SW-RF nat at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 273 | CALL histdef(file_id,"SWSRFCS_POM" ,"Clear sky SW-RF pom at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 274 | CALL histdef(file_id,"SWSRFCS_DUST","Clear sky SW-RF duss at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 275 | CALL histdef(file_id,"SWSRFCS_SS" ,"Clear sky SW-RF cno3 at SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 276 | #endif |
---|
| 277 | |
---|
| 278 | ! LMD |
---|
| 279 | CALL histdef(file_id,"SWTOACS_AD","Direct TOA CS forcing","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 280 | CALL histdef(file_id,"SWTOAAS_AD","Direct TOA AS forcing","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 281 | CALL histdef(file_id,"SWSRFCS_AD","Direct SRF CS forcing","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 282 | CALL histdef(file_id,"SWSRFAS_AD","Direct SRF AS forcing","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 283 | |
---|
| 284 | ! CLOUDS |
---|
| 285 | CALL histdef(file_id,"cforcTOA_0","CF at TOA,no aerosol","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 286 | CALL histdef(file_id,"cforcSRF_0","CF at SRF,no aerosol","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 287 | CALL histdef(file_id,"DcforcTOA_NAT","NAT aerosol impact on CF-TOA","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 288 | CALL histdef(file_id,"DcforcSRF_NAT","NAT aerosol impact on CF-SRF","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 289 | CALL histdef(file_id,"DcforcTOA_ANTR","ANT aerosol impact on CF-TOA","W/m2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 290 | CALL histdef(file_id,"DcforcSRF_ANTR","ANT aerosol impact on CF-SRF","W/m2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 291 | CALL histdef(file_id,"CLOUDfract" ,"Cloud fraction","-",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 292 | |
---|
| 293 | !!RAFF2 forcing in cloudy regions |
---|
| 294 | CALL histdef(file_id,"cRFtoa_nat","TOA nat RF in cloudy regions","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 295 | CALL histdef(file_id,"cRFsrf_nat","SRF nat RF in cloudy regions","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 296 | CALL histdef(file_id,"cRFtoa_antr","TOA antr RF in cloudy regions","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 297 | CALL histdef(file_id,"cRFsrf_antr","SRF antr RF in cloudy regions","W.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 298 | |
---|
| 299 | ! "HEAT" fluxes |
---|
| 300 | CALL histdef(file_id,"tops" ,"Solar rad. at TOA" , "W/m2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 301 | CALL histdef(file_id,"tops0","CS Solar rad. at TOA", "W/m2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 302 | CALL histdef(file_id,"topl" ,"IR rad. at TOA" , "W/m2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 303 | CALL histdef(file_id,"topl0","IR rad. at TOA" , "W/m2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 304 | |
---|
| 305 | CALL histdef(file_id,"SOLUBLE_LOAD","Solub. mass load","ug.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 306 | CALL histdef(file_id,"SOLUBLE_LOAD_PI","Solub. mass load, p.i.","ug.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 307 | CALL histdef(file_id,"SOLUBLE_LOAD_ANTR","Solub. Antr. mass load","ug.m-2",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 308 | |
---|
| 309 | |
---|
| 310 | diag_id = file_id |
---|
| 311 | |
---|
| 312 | CALL histend(file_id) |
---|
| 313 | |
---|
| 314 | !$OMP END MASTER |
---|
| 315 | |
---|
| 316 | END SUBROUTINE ini_diagnos |
---|
| 317 | |
---|
| 318 | #ifdef NMHC |
---|
| 319 | SUBROUTINE ini_diagnos_surf(pdtphys, anne_ref, day_ref, longcm, latgcm, & |
---|
| 320 | presnivs, itau_phy) |
---|
| 321 | |
---|
| 322 | USE IOIPSL |
---|
| 323 | USE INCA_DIM |
---|
| 324 | USE AEROSOL_DIAG |
---|
| 325 | USE MOD_INCA_PARA |
---|
| 326 | USE MOD_GRID_INCA |
---|
| 327 | IMPLICIT NONE |
---|
| 328 | |
---|
| 329 | !----------------------------------------------------------------------------- |
---|
| 330 | ! Dummy arguments |
---|
| 331 | !----------------------------------------------------------------------------- |
---|
| 332 | REAL, INTENT(in) :: pdtphys ! physics integration time step (s) |
---|
| 333 | INTEGER, INTENT(in) :: anne_ref ! simulation start year |
---|
| 334 | INTEGER, INTENT(in) :: day_ref ! simulation start day |
---|
| 335 | REAL, INTENT(in) :: longcm(PLON) ! physics columns longitudes (gcm) |
---|
| 336 | REAL, INTENT(in) :: latgcm(PLON) ! physics columns latitudes (gcm) |
---|
| 337 | REAL, INTENT(in) :: presnivs(PLEV) !middle layer pressure(PA) |
---|
| 338 | INTEGER, INTENT(in) :: itau_phy |
---|
| 339 | |
---|
| 340 | !---------------------------------------------------------------------------- |
---|
| 341 | ! Local arguments |
---|
| 342 | !---------------------------------------------------------------------------- |
---|
| 343 | CHARACTER(len=15) :: filename ! file name |
---|
| 344 | INTEGER :: file_id |
---|
| 345 | INTEGER :: grid_id ! horizontal grid ID |
---|
| 346 | INTEGER :: vert_id ! vertical axe ID |
---|
| 347 | REAL :: zjulian |
---|
| 348 | REAL :: zx_lon(iim_glo,jj_nb) ! record grid points longitudes |
---|
| 349 | REAL :: zx_lat(iim_glo,jj_nb) ! record grid points latitudes |
---|
| 350 | REAL :: zx_lon_glo(iim_glo,jjm_glo) ! record grid points longitudes |
---|
| 351 | REAL :: zx_lat_glo(iim_glo,jjm_glo) ! record grid points latitudes |
---|
| 352 | REAL ::zsto ! variable s storage time step (s) |
---|
| 353 | REAL ::zout ! variable s record time step (s) |
---|
| 354 | REAL, dimension(PLON_GLO) :: lonlatgcm_glo_oth ! physics columns longitudes (gcm) |
---|
| 355 | |
---|
| 356 | REAL :: ecritchim = 1./3600. |
---|
| 357 | INTEGER :: ecrit_tra |
---|
| 358 | |
---|
| 359 | filename='surface' |
---|
| 360 | |
---|
| 361 | CALL ymds2ju(anne_ref, 1, day_ref, 0.0, zjulian) |
---|
| 362 | |
---|
| 363 | CALL gather(longcm, lonlatgcm_glo_oth) |
---|
| 364 | !$OMP MASTER |
---|
| 365 | IF (is_mpi_root) CALL grid1dTo2d_glo(lonlatgcm_glo_oth, zx_lon_glo) |
---|
| 366 | !$OMP END MASTER |
---|
| 367 | CALL bcast(zx_lon_glo) |
---|
| 368 | zx_lon_glo(2:,1)=zx_lon_glo(1,1) |
---|
| 369 | zx_lon_glo(2:,jjm_glo)=zx_lon_glo(1,jjm_glo) |
---|
| 370 | zx_lon(:,1:jj_nb)=zx_lon_glo(:,jj_begin:jj_end) |
---|
| 371 | |
---|
| 372 | CALL gather(latgcm, lonlatgcm_glo_oth) |
---|
| 373 | !$OMP MASTER |
---|
| 374 | IF (is_mpi_root) CALL grid1dTo2d_glo(lonlatgcm_glo_oth, zx_lat_glo) |
---|
| 375 | !$OMP END MASTER |
---|
| 376 | CALL bcast(zx_lat_glo) |
---|
| 377 | zx_lat_glo(2:,1)=zx_lat_glo(1,1) |
---|
| 378 | zx_lat_glo(2:,jjm_glo)=zx_lat_glo(1,jjm_glo) |
---|
| 379 | zx_lat(:,1:jj_nb)=zx_lat_glo(:,jj_begin:jj_end) |
---|
| 380 | |
---|
| 381 | ecrit_tra = NINT(1./pdtphys/ecritchim) |
---|
| 382 | zsto = pdtphys |
---|
| 383 | zout = pdtphys * FLOAT(ecrit_tra) |
---|
| 384 | |
---|
| 385 | !$OMP MASTER |
---|
| 386 | |
---|
| 387 | CALL histbeg(filename, iim_glo, zx_lon(:,2), jj_nb, zx_lat(1,:), 1, iim_glo,1, & |
---|
| 388 | jj_nb, itau_phy, zjulian, pdtphys, grid_id, file_id,domain_id=inca_domain_id) |
---|
| 389 | |
---|
| 390 | CALL histvert(file_id, "presnivs", "presnivs", "mb", PLEV, presnivs, vert_id) |
---|
| 391 | |
---|
| 392 | CALL histdef(file_id,"O3ppb", "Ozone at the surface","ppb",iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 393 | CALL histdef(file_id,"O3ug", "Ozone at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 394 | CALL histdef(file_id,"PM25a", "PM2.5 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 395 | CALL histdef(file_id,"PM25c", "PM2.5 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 396 | CALL histdef(file_id,"PM10", "PM10 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 397 | CALL histdef(file_id,"NO", "NO at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 398 | CALL histdef(file_id,"NO2", "NO2 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 399 | CALL histdef(file_id,"PAN", "PAN at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 400 | CALL histdef(file_id,"HONO", "HONO at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 401 | CALL histdef(file_id,"HNO3", "HNO3 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 402 | CALL histdef(file_id,"NH3", "NH3 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 403 | CALL histdef(file_id,"NH4", "NH4 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 404 | CALL histdef(file_id,"NO3", "NO3 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 405 | CALL histdef(file_id,"SO4", "SO4 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 406 | CALL histdef(file_id,"SO2", "SO2 at the surface","ug", iim_glo,jj_nb,grid_id,1,1,1,-99,32,"ave(X)",zsto,zout) |
---|
| 407 | |
---|
| 408 | diagsurf_id = file_id |
---|
| 409 | |
---|
| 410 | CALL histend(file_id) |
---|
| 411 | |
---|
| 412 | !$OMP END MASTER |
---|
| 413 | END SUBROUTINE ini_diagnos_surf |
---|
| 414 | #endif |
---|
| 415 | #endif |
---|