12 |
|
|
13 |
! This is the main procedure for the "physics" part of the program. |
! This is the main procedure for the "physics" part of the program. |
14 |
|
|
15 |
|
use aaam_bud_m, only: aaam_bud |
16 |
USE abort_gcm_m, ONLY: abort_gcm |
USE abort_gcm_m, ONLY: abort_gcm |
17 |
|
use ajsec_m, only: ajsec |
18 |
USE calendar, ONLY: ymds2ju |
USE calendar, ONLY: ymds2ju |
19 |
|
use calltherm_m, only: calltherm |
20 |
USE clesphys, ONLY: cdhmax, cdmmax, co2_ppm, ecrit_hf, ecrit_ins, & |
USE clesphys, ONLY: cdhmax, cdmmax, co2_ppm, ecrit_hf, ecrit_ins, & |
21 |
ecrit_mth, ecrit_reg, ecrit_tra, ksta, ksta_ter, ok_kzmin |
ecrit_mth, ecrit_reg, ecrit_tra, ksta, ksta_ter, ok_kzmin |
22 |
USE clesphys2, ONLY: cycle_diurne, iflag_con, nbapp_rad, new_oliq, & |
USE clesphys2, ONLY: cycle_diurne, iflag_con, nbapp_rad, new_oliq, & |
27 |
USE conf_gcm_m, ONLY: offline, raz_date |
USE conf_gcm_m, ONLY: offline, raz_date |
28 |
USE conf_phys_m, ONLY: conf_phys |
USE conf_phys_m, ONLY: conf_phys |
29 |
USE ctherm, ONLY: iflag_thermals, nsplit_thermals |
USE ctherm, ONLY: iflag_thermals, nsplit_thermals |
30 |
|
use diagcld2_m, only: diagcld2 |
31 |
use diagetpq_m, only: diagetpq |
use diagetpq_m, only: diagetpq |
32 |
USE dimens_m, ONLY: iim, jjm, llm, nqmx |
USE dimens_m, ONLY: iim, jjm, llm, nqmx |
33 |
USE dimphy, ONLY: klon, nbtr |
USE dimphy, ONLY: klon, nbtr |
34 |
USE dimsoil, ONLY: nsoilmx |
USE dimsoil, ONLY: nsoilmx |
35 |
|
use drag_noro_m, only: drag_noro |
36 |
USE fcttre, ONLY: foeew, qsatl, qsats, thermcep |
USE fcttre, ONLY: foeew, qsatl, qsats, thermcep |
37 |
USE hgardfou_m, ONLY: hgardfou |
USE hgardfou_m, ONLY: hgardfou |
38 |
USE histcom, ONLY: histsync |
USE histsync_m, ONLY: histsync |
39 |
USE histwrite_m, ONLY: histwrite |
USE histwrite_m, ONLY: histwrite |
40 |
USE indicesol, ONLY: clnsurf, epsfra, is_lic, is_oce, is_sic, is_ter, & |
USE indicesol, ONLY: clnsurf, epsfra, is_lic, is_oce, is_sic, is_ter, & |
41 |
nbsrf |
nbsrf |
50 |
USE phystokenc_m, ONLY: phystokenc |
USE phystokenc_m, ONLY: phystokenc |
51 |
USE phytrac_m, ONLY: phytrac |
USE phytrac_m, ONLY: phytrac |
52 |
USE qcheck_m, ONLY: qcheck |
USE qcheck_m, ONLY: qcheck |
53 |
|
use radlwsw_m, only: radlwsw |
54 |
|
use sugwd_m, only: sugwd |
55 |
USE suphec_m, ONLY: ra, rcpd, retv, rg, rlvtt, romega, rsigma, rtt |
USE suphec_m, ONLY: ra, rcpd, retv, rg, rlvtt, romega, rsigma, rtt |
56 |
USE temps, ONLY: annee_ref, day_ref, itau_phy |
USE temps, ONLY: annee_ref, day_ref, itau_phy |
57 |
USE yoethf_m, ONLY: r2es, rvtmp2 |
USE yoethf_m, ONLY: r2es, rvtmp2 |
391 |
! Declaration des procedures appelees |
! Declaration des procedures appelees |
392 |
|
|
393 |
EXTERNAL alboc ! calculer l'albedo sur ocean |
EXTERNAL alboc ! calculer l'albedo sur ocean |
|
EXTERNAL ajsec ! ajustement sec |
|
394 |
!KE43 |
!KE43 |
395 |
EXTERNAL conema3 ! convect4.3 |
EXTERNAL conema3 ! convect4.3 |
396 |
EXTERNAL fisrtilp ! schema de condensation a grande echelle (pluie) |
EXTERNAL fisrtilp ! schema de condensation a grande echelle (pluie) |
397 |
EXTERNAL nuage ! calculer les proprietes radiatives |
EXTERNAL nuage ! calculer les proprietes radiatives |
|
EXTERNAL radlwsw ! rayonnements solaire et infrarouge |
|
398 |
EXTERNAL transp ! transport total de l'eau et de l'energie |
EXTERNAL transp ! transport total de l'eau et de l'energie |
399 |
|
|
400 |
! Variables locales |
! Variables locales |
422 |
REAL zxfluxu(klon, llm) |
REAL zxfluxu(klon, llm) |
423 |
REAL zxfluxv(klon, llm) |
REAL zxfluxv(klon, llm) |
424 |
|
|
425 |
REAL heat(klon, llm) ! chauffage solaire |
! Le rayonnement n'est pas calcule tous les pas, il faut donc |
426 |
|
! que les variables soient rémanentes |
427 |
|
REAL, save:: heat(klon, llm) ! chauffage solaire |
428 |
REAL heat0(klon, llm) ! chauffage solaire ciel clair |
REAL heat0(klon, llm) ! chauffage solaire ciel clair |
429 |
REAL cool(klon, llm) ! refroidissement infrarouge |
REAL cool(klon, llm) ! refroidissement infrarouge |
430 |
REAL cool0(klon, llm) ! refroidissement infrarouge ciel clair |
REAL cool0(klon, llm) ! refroidissement infrarouge ciel clair |
434 |
REAL albpla(klon) |
REAL albpla(klon) |
435 |
REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface |
REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface |
436 |
REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface |
REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface |
437 |
! Le rayonnement n'est pas calcule tous les pas, il faut donc |
SAVE cool, albpla, topsw, toplw, solsw, sollw, sollwdown |
|
! sauvegarder les sorties du rayonnement |
|
|
SAVE heat, cool, albpla, topsw, toplw, solsw, sollw, sollwdown |
|
438 |
SAVE topsw0, toplw0, solsw0, sollw0, heat0, cool0 |
SAVE topsw0, toplw0, solsw0, sollw0, heat0, cool0 |
439 |
|
|
440 |
INTEGER itaprad |
INTEGER itaprad |
778 |
|
|
779 |
IF (ok_orodr) THEN |
IF (ok_orodr) THEN |
780 |
rugoro = MAX(1e-5, zstd * zsig / 2) |
rugoro = MAX(1e-5, zstd * zsig / 2) |
781 |
CALL SUGWD(klon, llm, paprs, play) |
CALL SUGWD(paprs, play) |
782 |
else |
else |
783 |
rugoro = 0. |
rugoro = 0. |
784 |
ENDIF |
ENDIF |
905 |
! Mettre en action les conditions aux limites (albedo, sst, etc.). |
! Mettre en action les conditions aux limites (albedo, sst, etc.). |
906 |
|
|
907 |
! Prescrire l'ozone et calculer l'albedo sur l'ocean. |
! Prescrire l'ozone et calculer l'albedo sur l'ocean. |
908 |
if (nqmx >= 5) then |
wo = ozonecm(REAL(julien), paprs) |
|
wo = qx(:, :, 5) * zmasse / dobson_u / 1e3 |
|
|
else IF (MOD(itap - 1, lmt_pas) == 0) THEN |
|
|
wo = ozonecm(REAL(julien), paprs) |
|
|
ENDIF |
|
909 |
|
|
910 |
! Évaporation de l'eau liquide nuageuse : |
! Évaporation de l'eau liquide nuageuse : |
911 |
DO k = 1, llm |
DO k = 1, llm |
1169 |
itop_con(i) = llm + 1 - kctop(i) |
itop_con(i) = llm + 1 - kctop(i) |
1170 |
ENDDO |
ENDDO |
1171 |
case (3:) |
case (3:) |
1172 |
! number of tracers for the Kerry-Emanuel convection: |
! number of tracers for the convection scheme of Kerry Emanuel: |
1173 |
! la partie traceurs est faite dans phytrac |
! la partie traceurs est faite dans phytrac |
1174 |
! on met ntra = 1 pour limiter les appels mais on peut |
! on met ntra = 1 pour limiter les appels mais on peut |
1175 |
! supprimer les calculs / ftra. |
! supprimer les calculs / ftra. |
1189 |
pmfu = upwd + dnwd |
pmfu = upwd + dnwd |
1190 |
ELSE |
ELSE |
1191 |
! conema3 ne contient pas les traceurs |
! conema3 ne contient pas les traceurs |
1192 |
CALL conema3 (dtphys, paprs, play, t_seri, q_seri, u_seri, v_seri, & |
CALL conema3(dtphys, paprs, play, t_seri, q_seri, u_seri, v_seri, & |
1193 |
tr_seri, ntra, ema_work1, ema_work2, d_t_con, d_q_con, & |
tr_seri, ntra, ema_work1, ema_work2, d_t_con, d_q_con, & |
1194 |
d_u_con, d_v_con, d_tr, rain_con, snow_con, ibas_con, & |
d_u_con, d_v_con, d_tr, rain_con, snow_con, ibas_con, & |
1195 |
itop_con, upwd, dnwd, dnwd0, bas, top, Ma, cape, tvp, rflag, & |
itop_con, upwd, dnwd, dnwd0, bas, top, Ma, cape, tvp, rflag, & |
1281 |
ENDDO |
ENDDO |
1282 |
DO k = 1, llm |
DO k = 1, llm |
1283 |
DO i = 1, klon |
DO i = 1, klon |
1284 |
IF (z_factor(i) > (1.0 + 1.0E-08) .OR. & |
IF (z_factor(i) > 1. + 1E-8 .OR. z_factor(i) < 1. - 1E-8) THEN |
|
z_factor(i) < (1.0-1.0E-08)) THEN |
|
1285 |
q_seri(i, k) = q_seri(i, k) * z_factor(i) |
q_seri(i, k) = q_seri(i, k) * z_factor(i) |
1286 |
ENDIF |
ENDIF |
1287 |
ENDDO |
ENDDO |
1478 |
d_ql, d_qs, d_ec) |
d_ql, d_qs, d_ec) |
1479 |
END IF |
END IF |
1480 |
|
|
1481 |
! Calculer l'humidite relative pour diagnostique |
! Humidité relative pour diagnostic: |
|
|
|
1482 |
DO k = 1, llm |
DO k = 1, llm |
1483 |
DO i = 1, klon |
DO i = 1, klon |
1484 |
zx_t = t_seri(i, k) |
zx_t = t_seri(i, k) |
1499 |
zqsat(i, k) = zx_qs |
zqsat(i, k) = zx_qs |
1500 |
ENDDO |
ENDDO |
1501 |
ENDDO |
ENDDO |
1502 |
!jq - introduce the aerosol direct and first indirect radiative forcings |
|
1503 |
!jq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr) |
! Introduce the aerosol direct and first indirect radiative forcings: |
1504 |
IF (ok_ade.OR.ok_aie) THEN |
! Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr) |
1505 |
|
IF (ok_ade .OR. ok_aie) THEN |
1506 |
! Get sulfate aerosol distribution |
! Get sulfate aerosol distribution |
1507 |
CALL readsulfate(rdayvrai, firstcal, sulfate) |
CALL readsulfate(rdayvrai, firstcal, sulfate) |
1508 |
CALL readsulfate_preind(rdayvrai, firstcal, sulfate_pi) |
CALL readsulfate_preind(rdayvrai, firstcal, sulfate_pi) |
1509 |
|
|
1510 |
! Calculate aerosol optical properties (Olivier Boucher) |
! Calculate aerosol optical properties (Olivier Boucher) |
1511 |
CALL aeropt(play, paprs, t_seri, sulfate, rhcl, & |
CALL aeropt(play, paprs, t_seri, sulfate, rhcl, tau_ae, piz_ae, cg_ae, & |
1512 |
tau_ae, piz_ae, cg_ae, aerindex) |
aerindex) |
1513 |
ELSE |
ELSE |
1514 |
tau_ae = 0.0 |
tau_ae = 0. |
1515 |
piz_ae = 0.0 |
piz_ae = 0. |
1516 |
cg_ae = 0.0 |
cg_ae = 0. |
1517 |
ENDIF |
ENDIF |
1518 |
|
|
1519 |
! Calculer les parametres optiques des nuages et quelques |
! Paramètres optiques des nuages et quelques paramètres pour |
1520 |
! parametres pour diagnostiques: |
! diagnostics : |
|
|
|
1521 |
if (ok_newmicro) then |
if (ok_newmicro) then |
1522 |
CALL newmicro (paprs, play, ok_newmicro, & |
CALL newmicro(paprs, play, ok_newmicro, t_seri, cldliq, cldfra, & |
1523 |
t_seri, cldliq, cldfra, cldtau, cldemi, & |
cldtau, cldemi, cldh, cldl, cldm, cldt, cldq, flwp, fiwp, flwc, & |
1524 |
cldh, cldl, cldm, cldt, cldq, & |
fiwc, ok_aie, sulfate, sulfate_pi, bl95_b0, bl95_b1, cldtaupi, & |
1525 |
flwp, fiwp, flwc, fiwc, & |
re, fl) |
|
ok_aie, & |
|
|
sulfate, sulfate_pi, & |
|
|
bl95_b0, bl95_b1, & |
|
|
cldtaupi, re, fl) |
|
1526 |
else |
else |
1527 |
CALL nuage (paprs, play, & |
CALL nuage(paprs, play, t_seri, cldliq, cldfra, cldtau, cldemi, cldh, & |
1528 |
t_seri, cldliq, cldfra, cldtau, cldemi, & |
cldl, cldm, cldt, cldq, ok_aie, sulfate, sulfate_pi, bl95_b0, & |
1529 |
cldh, cldl, cldm, cldt, cldq, & |
bl95_b1, cldtaupi, re, fl) |
|
ok_aie, & |
|
|
sulfate, sulfate_pi, & |
|
|
bl95_b0, bl95_b1, & |
|
|
cldtaupi, re, fl) |
|
|
|
|
1530 |
endif |
endif |
1531 |
|
|
1532 |
! Appeler le rayonnement mais calculer tout d'abord l'albedo du sol. |
! Appeler le rayonnement mais calculer tout d'abord l'albedo du sol. |
|
|
|
1533 |
IF (MOD(itaprad, radpas) == 0) THEN |
IF (MOD(itaprad, radpas) == 0) THEN |
1534 |
DO i = 1, klon |
DO i = 1, klon |
1535 |
albsol(i) = falbe(i, is_oce) * pctsrf(i, is_oce) & |
albsol(i) = falbe(i, is_oce) * pctsrf(i, is_oce) & |
1556 |
|
|
1557 |
DO k = 1, llm |
DO k = 1, llm |
1558 |
DO i = 1, klon |
DO i = 1, klon |
1559 |
t_seri(i, k) = t_seri(i, k) & |
t_seri(i, k) = t_seri(i, k) + (heat(i, k)-cool(i, k)) * dtphys/86400. |
|
+ (heat(i, k)-cool(i, k)) * dtphys/86400. |
|
1560 |
ENDDO |
ENDDO |
1561 |
ENDDO |
ENDDO |
1562 |
|
|
1655 |
ENDDO |
ENDDO |
1656 |
ENDDO |
ENDDO |
1657 |
|
|
1658 |
!IM calcul composantes axiales du moment angulaire et couple des montagnes |
CALL aaam_bud(ra, rg, romega, rlat, rlon, pphis, zustrdr, zustrli, & |
1659 |
|
zustrph, zvstrdr, zvstrli, zvstrph, paprs, u, v, aam, torsfc) |
|
CALL aaam_bud(27, klon, llm, time, ra, rg, romega, rlat, rlon, pphis, & |
|
|
zustrdr, zustrli, zustrph, zvstrdr, zvstrli, zvstrph, paprs, u, v, & |
|
|
aam, torsfc) |
|
1660 |
|
|
1661 |
IF (if_ebil >= 2) THEN |
IF (if_ebil >= 2) THEN |
1662 |
ztit = 'after orography' |
ztit = 'after orography' |
1685 |
|
|
1686 |
! diag. bilKP |
! diag. bilKP |
1687 |
|
|
1688 |
CALL transp_lay (paprs, zxtsol, t_seri, q_seri, u_seri, v_seri, zphi, & |
CALL transp_lay(paprs, zxtsol, t_seri, q_seri, u_seri, v_seri, zphi, & |
1689 |
ve_lay, vq_lay, ue_lay, uq_lay) |
ve_lay, vq_lay, ue_lay, uq_lay) |
1690 |
|
|
1691 |
! Accumuler les variables a stocker dans les fichiers histoire: |
! Accumuler les variables a stocker dans les fichiers histoire: |
1833 |
itau_w = itau_phy + itap |
itau_w = itau_phy + itap |
1834 |
|
|
1835 |
i = NINT(zout/zsto) |
i = NINT(zout/zsto) |
1836 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), pphis, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, pphis, zx_tmp_2d) |
1837 |
CALL histwrite(nid_ins, "phis", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "phis", itau_w, zx_tmp_2d) |
1838 |
|
|
1839 |
i = NINT(zout/zsto) |
i = NINT(zout/zsto) |
1840 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), airephy, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, airephy, zx_tmp_2d) |
1841 |
CALL histwrite(nid_ins, "aire", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "aire", itau_w, zx_tmp_2d) |
1842 |
|
|
1843 |
DO i = 1, klon |
DO i = 1, klon |
1844 |
zx_tmp_fi2d(i) = paprs(i, 1) |
zx_tmp_fi2d(i) = paprs(i, 1) |
1845 |
ENDDO |
ENDDO |
1846 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1847 |
CALL histwrite(nid_ins, "psol", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "psol", itau_w, zx_tmp_2d) |
1848 |
|
|
1849 |
DO i = 1, klon |
DO i = 1, klon |
1850 |
zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) |
zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) |
1851 |
ENDDO |
ENDDO |
1852 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1853 |
CALL histwrite(nid_ins, "precip", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "precip", itau_w, zx_tmp_2d) |
1854 |
|
|
1855 |
DO i = 1, klon |
DO i = 1, klon |
1856 |
zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) |
zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) |
1857 |
ENDDO |
ENDDO |
1858 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1859 |
CALL histwrite(nid_ins, "plul", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "plul", itau_w, zx_tmp_2d) |
1860 |
|
|
1861 |
DO i = 1, klon |
DO i = 1, klon |
1862 |
zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) |
zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) |
1863 |
ENDDO |
ENDDO |
1864 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1865 |
CALL histwrite(nid_ins, "pluc", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "pluc", itau_w, zx_tmp_2d) |
1866 |
|
|
1867 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zxtsol, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zxtsol, zx_tmp_2d) |
1868 |
CALL histwrite(nid_ins, "tsol", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "tsol", itau_w, zx_tmp_2d) |
1869 |
!ccIM |
!ccIM |
1870 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zt2m, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zt2m, zx_tmp_2d) |
1871 |
CALL histwrite(nid_ins, "t2m", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "t2m", itau_w, zx_tmp_2d) |
1872 |
|
|
1873 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zq2m, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zq2m, zx_tmp_2d) |
1874 |
CALL histwrite(nid_ins, "q2m", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "q2m", itau_w, zx_tmp_2d) |
1875 |
|
|
1876 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zu10m, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zu10m, zx_tmp_2d) |
1877 |
CALL histwrite(nid_ins, "u10m", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "u10m", itau_w, zx_tmp_2d) |
1878 |
|
|
1879 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zv10m, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zv10m, zx_tmp_2d) |
1880 |
CALL histwrite(nid_ins, "v10m", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "v10m", itau_w, zx_tmp_2d) |
1881 |
|
|
1882 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), snow_fall, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, snow_fall, zx_tmp_2d) |
1883 |
CALL histwrite(nid_ins, "snow", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "snow", itau_w, zx_tmp_2d) |
1884 |
|
|
1885 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), cdragm, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, cdragm, zx_tmp_2d) |
1886 |
CALL histwrite(nid_ins, "cdrm", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "cdrm", itau_w, zx_tmp_2d) |
1887 |
|
|
1888 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), cdragh, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, cdragh, zx_tmp_2d) |
1889 |
CALL histwrite(nid_ins, "cdrh", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "cdrh", itau_w, zx_tmp_2d) |
1890 |
|
|
1891 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), toplw, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, toplw, zx_tmp_2d) |
1892 |
CALL histwrite(nid_ins, "topl", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "topl", itau_w, zx_tmp_2d) |
1893 |
|
|
1894 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), evap, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, evap, zx_tmp_2d) |
1895 |
CALL histwrite(nid_ins, "evap", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "evap", itau_w, zx_tmp_2d) |
1896 |
|
|
1897 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), solsw, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, solsw, zx_tmp_2d) |
1898 |
CALL histwrite(nid_ins, "sols", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "sols", itau_w, zx_tmp_2d) |
1899 |
|
|
1900 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), sollw, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, sollw, zx_tmp_2d) |
1901 |
CALL histwrite(nid_ins, "soll", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "soll", itau_w, zx_tmp_2d) |
1902 |
|
|
1903 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), sollwdown, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, sollwdown, zx_tmp_2d) |
1904 |
CALL histwrite(nid_ins, "solldown", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "solldown", itau_w, zx_tmp_2d) |
1905 |
|
|
1906 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), bils, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, bils, zx_tmp_2d) |
1907 |
CALL histwrite(nid_ins, "bils", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "bils", itau_w, zx_tmp_2d) |
1908 |
|
|
1909 |
zx_tmp_fi2d(1:klon) = -1*sens(1:klon) |
zx_tmp_fi2d(1:klon) = -1*sens(1:klon) |
1910 |
! CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), sens, zx_tmp_2d) |
! CALL gr_fi_ecrit(1, klon, iim, jjm + 1, sens, zx_tmp_2d) |
1911 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1912 |
CALL histwrite(nid_ins, "sens", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "sens", itau_w, zx_tmp_2d) |
1913 |
|
|
1914 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), fder, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, fder, zx_tmp_2d) |
1915 |
CALL histwrite(nid_ins, "fder", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "fder", itau_w, zx_tmp_2d) |
1916 |
|
|
1917 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), d_ts(1, is_oce), zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, d_ts(1, is_oce), zx_tmp_2d) |
1918 |
CALL histwrite(nid_ins, "dtsvdfo", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "dtsvdfo", itau_w, zx_tmp_2d) |
1919 |
|
|
1920 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), d_ts(1, is_ter), zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, d_ts(1, is_ter), zx_tmp_2d) |
1921 |
CALL histwrite(nid_ins, "dtsvdft", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "dtsvdft", itau_w, zx_tmp_2d) |
1922 |
|
|
1923 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), d_ts(1, is_lic), zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, d_ts(1, is_lic), zx_tmp_2d) |
1924 |
CALL histwrite(nid_ins, "dtsvdfg", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "dtsvdfg", itau_w, zx_tmp_2d) |
1925 |
|
|
1926 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), d_ts(1, is_sic), zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, d_ts(1, is_sic), zx_tmp_2d) |
1927 |
CALL histwrite(nid_ins, "dtsvdfi", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "dtsvdfi", itau_w, zx_tmp_2d) |
1928 |
|
|
1929 |
DO nsrf = 1, nbsrf |
DO nsrf = 1, nbsrf |
1930 |
!XXX |
!XXX |
1931 |
zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, nsrf)*100. |
zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, nsrf)*100. |
1932 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1933 |
CALL histwrite(nid_ins, "pourc_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "pourc_"//clnsurf(nsrf), itau_w, & |
1934 |
zx_tmp_2d) |
zx_tmp_2d) |
1935 |
|
|
1936 |
zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, nsrf) |
zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, nsrf) |
1937 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1938 |
CALL histwrite(nid_ins, "fract_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "fract_"//clnsurf(nsrf), itau_w, & |
1939 |
zx_tmp_2d) |
zx_tmp_2d) |
1940 |
|
|
1941 |
zx_tmp_fi2d(1 : klon) = fluxt(1 : klon, 1, nsrf) |
zx_tmp_fi2d(1 : klon) = fluxt(1 : klon, 1, nsrf) |
1942 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1943 |
CALL histwrite(nid_ins, "sens_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "sens_"//clnsurf(nsrf), itau_w, & |
1944 |
zx_tmp_2d) |
zx_tmp_2d) |
1945 |
|
|
1946 |
zx_tmp_fi2d(1 : klon) = fluxlat(1 : klon, nsrf) |
zx_tmp_fi2d(1 : klon) = fluxlat(1 : klon, nsrf) |
1947 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1948 |
CALL histwrite(nid_ins, "lat_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "lat_"//clnsurf(nsrf), itau_w, & |
1949 |
zx_tmp_2d) |
zx_tmp_2d) |
1950 |
|
|
1951 |
zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, nsrf) |
zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, nsrf) |
1952 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1953 |
CALL histwrite(nid_ins, "tsol_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "tsol_"//clnsurf(nsrf), itau_w, & |
1954 |
zx_tmp_2d) |
zx_tmp_2d) |
1955 |
|
|
1956 |
zx_tmp_fi2d(1 : klon) = fluxu(1 : klon, 1, nsrf) |
zx_tmp_fi2d(1 : klon) = fluxu(1 : klon, 1, nsrf) |
1957 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1958 |
CALL histwrite(nid_ins, "taux_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "taux_"//clnsurf(nsrf), itau_w, & |
1959 |
zx_tmp_2d) |
zx_tmp_2d) |
1960 |
|
|
1961 |
zx_tmp_fi2d(1 : klon) = fluxv(1 : klon, 1, nsrf) |
zx_tmp_fi2d(1 : klon) = fluxv(1 : klon, 1, nsrf) |
1962 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1963 |
CALL histwrite(nid_ins, "tauy_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "tauy_"//clnsurf(nsrf), itau_w, & |
1964 |
zx_tmp_2d) |
zx_tmp_2d) |
1965 |
|
|
1966 |
zx_tmp_fi2d(1 : klon) = frugs(1 : klon, nsrf) |
zx_tmp_fi2d(1 : klon) = frugs(1 : klon, nsrf) |
1967 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1968 |
CALL histwrite(nid_ins, "rugs_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "rugs_"//clnsurf(nsrf), itau_w, & |
1969 |
zx_tmp_2d) |
zx_tmp_2d) |
1970 |
|
|
1971 |
zx_tmp_fi2d(1 : klon) = falbe(1 : klon, nsrf) |
zx_tmp_fi2d(1 : klon) = falbe(1 : klon, nsrf) |
1972 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zx_tmp_fi2d, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zx_tmp_fi2d, zx_tmp_2d) |
1973 |
CALL histwrite(nid_ins, "albe_"//clnsurf(nsrf), itau_w, & |
CALL histwrite(nid_ins, "albe_"//clnsurf(nsrf), itau_w, & |
1974 |
zx_tmp_2d) |
zx_tmp_2d) |
1975 |
|
|
1976 |
END DO |
END DO |
1977 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), albsol, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, albsol, zx_tmp_2d) |
1978 |
CALL histwrite(nid_ins, "albs", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "albs", itau_w, zx_tmp_2d) |
1979 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), albsollw, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, albsollw, zx_tmp_2d) |
1980 |
CALL histwrite(nid_ins, "albslw", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "albslw", itau_w, zx_tmp_2d) |
1981 |
|
|
1982 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), zxrugs, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, zxrugs, zx_tmp_2d) |
1983 |
CALL histwrite(nid_ins, "rugs", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "rugs", itau_w, zx_tmp_2d) |
1984 |
|
|
1985 |
!HBTM2 |
!HBTM2 |
1986 |
|
|
1987 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_pblh, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_pblh, zx_tmp_2d) |
1988 |
CALL histwrite(nid_ins, "s_pblh", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_pblh", itau_w, zx_tmp_2d) |
1989 |
|
|
1990 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_pblt, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_pblt, zx_tmp_2d) |
1991 |
CALL histwrite(nid_ins, "s_pblt", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_pblt", itau_w, zx_tmp_2d) |
1992 |
|
|
1993 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_lcl, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_lcl, zx_tmp_2d) |
1994 |
CALL histwrite(nid_ins, "s_lcl", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_lcl", itau_w, zx_tmp_2d) |
1995 |
|
|
1996 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_capCL, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_capCL, zx_tmp_2d) |
1997 |
CALL histwrite(nid_ins, "s_capCL", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_capCL", itau_w, zx_tmp_2d) |
1998 |
|
|
1999 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_oliqCL, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_oliqCL, zx_tmp_2d) |
2000 |
CALL histwrite(nid_ins, "s_oliqCL", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_oliqCL", itau_w, zx_tmp_2d) |
2001 |
|
|
2002 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_cteiCL, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_cteiCL, zx_tmp_2d) |
2003 |
CALL histwrite(nid_ins, "s_cteiCL", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_cteiCL", itau_w, zx_tmp_2d) |
2004 |
|
|
2005 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_therm, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_therm, zx_tmp_2d) |
2006 |
CALL histwrite(nid_ins, "s_therm", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_therm", itau_w, zx_tmp_2d) |
2007 |
|
|
2008 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_trmb1, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_trmb1, zx_tmp_2d) |
2009 |
CALL histwrite(nid_ins, "s_trmb1", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_trmb1", itau_w, zx_tmp_2d) |
2010 |
|
|
2011 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_trmb2, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_trmb2, zx_tmp_2d) |
2012 |
CALL histwrite(nid_ins, "s_trmb2", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_trmb2", itau_w, zx_tmp_2d) |
2013 |
|
|
2014 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), s_trmb3, zx_tmp_2d) |
CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_trmb3, zx_tmp_2d) |
2015 |
CALL histwrite(nid_ins, "s_trmb3", itau_w, zx_tmp_2d) |
CALL histwrite(nid_ins, "s_trmb3", itau_w, zx_tmp_2d) |
2016 |
|
|
2017 |
! Champs 3D: |
! Champs 3D: |
2018 |
|
|
2019 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), t_seri, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, t_seri, zx_tmp_3d) |
2020 |
CALL histwrite(nid_ins, "temp", itau_w, zx_tmp_3d) |
CALL histwrite(nid_ins, "temp", itau_w, zx_tmp_3d) |
2021 |
|
|
2022 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), u_seri, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, u_seri, zx_tmp_3d) |
2023 |
CALL histwrite(nid_ins, "vitu", itau_w, zx_tmp_3d) |
CALL histwrite(nid_ins, "vitu", itau_w, zx_tmp_3d) |
2024 |
|
|
2025 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), v_seri, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, v_seri, zx_tmp_3d) |
2026 |
CALL histwrite(nid_ins, "vitv", itau_w, zx_tmp_3d) |
CALL histwrite(nid_ins, "vitv", itau_w, zx_tmp_3d) |
2027 |
|
|
2028 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), zphi, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, zphi, zx_tmp_3d) |
2029 |
CALL histwrite(nid_ins, "geop", itau_w, zx_tmp_3d) |
CALL histwrite(nid_ins, "geop", itau_w, zx_tmp_3d) |
2030 |
|
|
2031 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), play, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, play, zx_tmp_3d) |
2032 |
CALL histwrite(nid_ins, "pres", itau_w, zx_tmp_3d) |
CALL histwrite(nid_ins, "pres", itau_w, zx_tmp_3d) |
2033 |
|
|
2034 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), d_t_vdf, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, d_t_vdf, zx_tmp_3d) |
2035 |
CALL histwrite(nid_ins, "dtvdf", itau_w, zx_tmp_3d) |
CALL histwrite(nid_ins, "dtvdf", itau_w, zx_tmp_3d) |
2036 |
|
|
2037 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), d_q_vdf, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, d_q_vdf, zx_tmp_3d) |
2038 |
CALL histwrite(nid_ins, "dqvdf", itau_w, zx_tmp_3d) |
CALL histwrite(nid_ins, "dqvdf", itau_w, zx_tmp_3d) |
2039 |
|
|
2040 |
if (ok_sync) then |
if (ok_sync) then |
2058 |
|
|
2059 |
! Champs 3D: |
! Champs 3D: |
2060 |
|
|
2061 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), t_seri, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, t_seri, zx_tmp_3d) |
2062 |
CALL histwrite(nid_hf3d, "temp", itau_w, zx_tmp_3d) |
CALL histwrite(nid_hf3d, "temp", itau_w, zx_tmp_3d) |
2063 |
|
|
2064 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), qx(1, 1, ivap), zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, qx(1, 1, ivap), zx_tmp_3d) |
2065 |
CALL histwrite(nid_hf3d, "ovap", itau_w, zx_tmp_3d) |
CALL histwrite(nid_hf3d, "ovap", itau_w, zx_tmp_3d) |
2066 |
|
|
2067 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), u_seri, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, u_seri, zx_tmp_3d) |
2068 |
CALL histwrite(nid_hf3d, "vitu", itau_w, zx_tmp_3d) |
CALL histwrite(nid_hf3d, "vitu", itau_w, zx_tmp_3d) |
2069 |
|
|
2070 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), v_seri, zx_tmp_3d) |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, v_seri, zx_tmp_3d) |
2071 |
CALL histwrite(nid_hf3d, "vitv", itau_w, zx_tmp_3d) |
CALL histwrite(nid_hf3d, "vitv", itau_w, zx_tmp_3d) |
2072 |
|
|
2073 |
if (nbtr >= 3) then |
if (nbtr >= 3) then |
2074 |
CALL gr_fi_ecrit(llm, klon, iim, (jjm + 1), tr_seri(1, 1, 3), & |
CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, tr_seri(1, 1, 3), & |
2075 |
zx_tmp_3d) |
zx_tmp_3d) |
2076 |
CALL histwrite(nid_hf3d, "O3", itau_w, zx_tmp_3d) |
CALL histwrite(nid_hf3d, "O3", itau_w, zx_tmp_3d) |
2077 |
end if |
end if |