Changeset 1225 for LMDZ4/branches
- Timestamp:
- Aug 7, 2009, 6:29:23 PM (15 years ago)
- Location:
- LMDZ4/branches/LMDZ4-dev/libf
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/dyn3d/calfis.F
r1222 r1225 170 170 SAVE firstcal,debut 171 171 ! REAL rdayvrai 172 REAL 172 REAL, intent(in):: jD_cur, jH_cur 173 173 c 174 174 c----------------------------------------------------------------------- -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/aaam_bud.F
r940 r1225 39 39 c nlon----input-I-Total number of horizontal points that get into physics 40 40 c nlev----input-I-Number of vertical levels 41 c rjour ---input-R-Jour compte depuis le debut de la simu (run.def)42 c rsec ----input-R-Seconde de la journee43 c rea -----input-R-Earth radius44 c rg ------input-R-gravity constant45 c ome -----input-R-Earth rotation rate41 c rjour -R-Jour compte depuis le debut de la simu (run.def) 42 c rsec -R-Seconde de la journee 43 c rea -R-Earth radius 44 c rg -R-gravity constant 45 c ome -R-Earth rotation rate 46 46 c plat ---input-R-Latitude en degres 47 47 c plon ---input-R-Longitude en degres … … 94 94 c 95 95 INTEGER iam,nlon,nlev 96 REAL rjour,rsec,rea,rg,ome96 REAL, intent(in):: rjour,rsec,rea,rg,ome 97 97 REAL plat(nlon),plon(nlon),phis(nlon) 98 98 REAL dragu(nlon),liftu(nlon),phyu(nlon) -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90
r1204 r1225 145 145 LOGICAL,SAVE :: ok_hines_omp 146 146 147 logical, intent(out):: read_climoz ! read ozone climatology 147 logical, intent(out):: read_climoz ! read ozone climatology, OpenMP shared 148 148 ! 149 149 -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/open_climoz_m.F90
r1220 r1225 22 22 use mod_phys_lmdz_mpi_transfert, only: bcast_mpi ! broadcast 23 23 24 integer, intent(out):: ncid ! of "climoz_LMDZ.nc" 24 integer, intent(out):: ncid ! of "climoz_LMDZ.nc", OpenMP shared 25 25 26 26 real, pointer:: press_in_edg(:) 27 ! (edges of pressure intervals for ozone climatology, in Pa, in strictly28 ! ascending order )27 ! edges of pressure intervals for ozone climatology, in Pa, in strictly 28 ! ascending order, OpenMP shared 29 29 30 30 ! Variables local to the procedure: -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/orbite.F
r766 r1225 124 124 c revu pour GCM le 30 septembre 1996 125 125 c=============================================================== 126 c longi ----INPUT: la longitude vraie de la terre dans son plan126 c longi : la longitude vraie de la terre dans son plan 127 127 c solaire a partir de l'equinoxe de printemps (degre) 128 c gmtime ---INPUT: temps universel en fraction de jour129 c pdtrad ---INPUT: pas de temps du rayonnement (secondes)128 c gmtime : temps universel en fraction de jour 129 c pdtrad : pas de temps du rayonnement (secondes) 130 130 c lat------INPUT : latitude en degres 131 131 c long-----INPUT : longitude en degres … … 137 137 #include "YOMCST.h" 138 138 c================================================================ 139 real longi, gmtime, pdtrad139 real, intent(in):: longi, gmtime, pdtrad 140 140 real lat(klon), long(klon), pmu0(klon), frac(klon) 141 141 c================================================================ -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/phyredem.F
r1191 r1225 74 74 tab_cntrl(ierr) = 0.0 75 75 ENDDO 76 tab_cntrl(1) = dtime76 CC tab_cntrl(1) = dtime 77 77 tab_cntrl(2) = radpas 78 78 tab_cntrl(3) = co2_ppm -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/physiq.F
r1221 r1225 12 12 . , PVteta) 13 13 14 USE ioipsl 14 USE ioipsl, only: histbeg, histvert, histdef, histend, histsync, 15 $ histwrite, ju2ymds, ymds2ju, ioget_year_len 15 16 USE comgeomphy 16 17 USE write_field_phy … … 60 61 c debut---input-L-variable logique indiquant le premier passage 61 62 c lafin---input-L-variable logique indiquant le dernier passage 62 c jD_cur --input-R-jour courant a l'appel de la physique (jour julien)63 c jH_cur --input-R-heure courante a l'appel de la physique (jour julien)63 c jD_cur -R-jour courant a l'appel de la physique (jour julien) 64 c jH_cur -R-heure courante a l'appel de la physique (jour julien) 64 65 c pdtphys-input-R-pas d'integration pour la physique (seconde) 65 66 c paprs---input-R-pression pour chaque inter-couche (en Pa) … … 186 187 INTEGER nlon 187 188 INTEGER nlev 188 REAL 189 REAL, intent(in):: jD_cur, jH_cur 189 190 190 191 REAL pdtphys … … 1106 1107 ! ascending order 1107 1108 1109 integer:: co3i = 0 ! time index in NetCDF file of current ozone field 1110 c$OMP THREADPRIVATE(co3i) 1111 1112 integer ro3i 1113 ! required time index in NetCDF file for the ozone field, between 1 and 360 1114 1108 1115 #include "YOMCST.h" 1109 1116 #include "YOETHF.h" … … 1130 1137 s nlon,klev,nqtot,debut,lafin, jD_cur, jH_cur,pdtphys 1131 1138 1132 write(lunout,*) 'pap ers, play, phi, u, v, t, omega'1139 write(lunout,*) 'paprs, play, phi, u, v, t' 1133 1140 do k=1,klev 1134 1141 write(lunout,*) paprs(igout,k),pplay(igout,k),pphi(igout,k), 1135 s u(igout,k),v(igout,k),t(igout,k) ,omega(igout,k)1142 s u(igout,k),v(igout,k),t(igout,k) 1136 1143 enddo 1137 1144 write(lunout,*) 'ovap (g/kg), oliq (g/kg)' … … 1712 1719 c Prescrire l'ozone et calculer l'albedo sur l'ocean. 1713 1720 c 1714 IF (MOD(itap-1,lmt_pas) == 0) THEN 1715 C Once per day, update ozone: 1716 if (read_climoz) then 1717 C Ozone climatology from a NetCDF file 1718 call regr_pr_av(ncid_climoz, "tro3", julien=days_elapsed+1, 1721 if (read_climoz) then 1722 C Ozone from a file 1723 ! Update required ozone index: 1724 ro3i = int((days_elapsed + jh_cur - jh_1jan) 1725 $ / ioget_year_len(year_cur) * 360.) + 1 1726 if (ro3i == 361) ro3i = 360 1727 C (This should never occur, except perhaps because of roundup 1728 C error. See documentation.) 1729 if (ro3i /= co3i) then 1730 C Update ozone field: 1731 call regr_pr_av(ncid_climoz, "tro3", julien=ro3i, 1719 1732 & press_in_edg=press_climoz, paprs=paprs, v3=wo) 1720 1733 ! Convert from mole fraction of ozone to column density of ozone in a 1721 1734 ! cell, in kDU: 1722 1735 wo = wo * rmo3 / rmd * zmasse / dobson_u / 1e3 1723 C (By regridding ozone values for LMDZ only once per day, we1724 C have already neglected the variation of pressure in one1725 C day. So do not recompute "wo" at each time step even if1736 C (By regridding ozone values for LMDZ only once every 360th of 1737 C year, we have already neglected the variation of pressure in one 1738 C 360th of year. So do not recompute "wo" at each time step even if 1726 1739 C "zmasse" changes a little.) 1727 else 1728 wo = ozonecm(rlat, paprs, rjour=real(days_elapsed+1)) 1740 co3i = ro3i 1729 1741 end if 1742 elseif (MOD(itap-1,lmt_pas) == 0) THEN 1743 C Once per day, update ozone from Royer: 1744 wo = ozonecm(rlat, paprs, rjour=real(days_elapsed+1)) 1730 1745 ENDIF 1731 1746 c … … 1935 1950 END DO 1936 1951 END DO 1952 if (prt_level.ge.1) write(lunout,*) 'omega(igout, :) = ', 1953 $ omega(igout, :) 1937 1954 1938 1955 IF (iflag_con.EQ.1) THEN -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/regr_pr.F90
r1220 r1225 41 41 42 42 real, intent(in):: press_in_edg(:) 43 ! (edges of pressure intervals for input data, in Pa, in strictly44 ! ascending order )43 ! edges of pressure intervals for input data, in Pa, in strictly 44 ! ascending order 45 45 46 46 real, intent(in):: paprs(:, :) ! (klon, llm + 1)
Note: See TracChangeset
for help on using the changeset viewer.