Ignore:
Timestamp:
Jan 11, 2021, 11:24:08 PM (4 years ago)
Author:
lguez
Message:

Sync latest trunk changes to Ocean_skin

Location:
LMDZ6/branches/Ocean_skin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin

  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_state_var_mod.F90

    r3767 r3798  
    4747!albedo SB >>>
    4848      REAL, ALLOCATABLE, SAVE :: falb_dif(:,:,:), falb_dir(:,:,:)
    49       real, allocatable, save :: chl_con(:)
     49      REAL, ALLOCATABLE, SAVE :: chl_con(:)
    5050!$OMP THREADPRIVATE(falb_dir,falb_dif,chl_con)
    5151!albedo SB <<<
     
    5454      REAL, ALLOCATABLE, SAVE :: rain_fall(:), snow_fall(:)
    5555!$OMP THREADPRIVATE( rain_fall, snow_fall)
    56       REAL, ALLOCATABLE, SAVE :: solsw(:), sollw(:)
    57 !$OMP THREADPRIVATE(solsw, sollw)
     56      REAL, ALLOCATABLE, SAVE :: solsw(:), solswfdiff(:), sollw(:)
     57!$OMP THREADPRIVATE(solsw, solswfdiff, sollw)
    5858      REAL, ALLOCATABLE, SAVE :: radsol(:)
    5959!$OMP THREADPRIVATE(radsol)
     
    358358      REAL,ALLOCATABLE,SAVE :: albplap(:)
    359359!$OMP THREADPRIVATE(albplap)
    360       REAL,ALLOCATABLE,SAVE :: solswp(:), sollwp(:)
    361 !$OMP THREADPRIVATE(solswp, sollwp)
     360      REAL,ALLOCATABLE,SAVE :: solswp(:), solswfdiffp(:), sollwp(:)
     361!$OMP THREADPRIVATE(solswp, solswfdiffp, sollwp)
    362362      REAL,ALLOCATABLE,SAVE :: sollwdownp(:)
    363363!$OMP THREADPRIVATE(sollwdownp)
     
    472472include "clesphys.h"
    473473
     474      print*, 'is_initialized', is_initialized
    474475      IF (is_initialized) RETURN
    475476      is_initialized=.TRUE.
     
    483484      ALLOCATE(falb2(klon,nbsrf))
    484485!albedo SB >>>
     486      print*, 'allocate falb'
    485487      ALLOCATE(falb_dir(klon,nsw,nbsrf),falb_dif(klon,nsw,nbsrf))
     488      print*, 'allocate falb good', falb_dir(1,1,1)
    486489      ALLOCATE(chl_con(klon))
    487490!albedo SB <<<
    488491      ALLOCATE(rain_fall(klon))
    489492      ALLOCATE(snow_fall(klon))
    490       ALLOCATE(solsw(klon), sollw(klon))
     493      ALLOCATE(solsw(klon), solswfdiff(klon), sollw(klon))
    491494      sollw=0.0
    492495      ALLOCATE(radsol(klon))
     
    619622      ALLOCATE(radsolp(klon), topswp(klon), toplwp(klon))
    620623      ALLOCATE(albplap(klon))
    621       ALLOCATE(solswp(klon), sollwp(klon))
     624      ALLOCATE(solswp(klon), solswfdiffp(klon), sollwp(klon))
    622625      ALLOCATE(gustiness(klon))
    623626      ALLOCATE(sollwdownp(klon))
     
    650653!!! fin nrlmd le 10/04/2012
    651654      IF (ok_gwd_rando) THEN
    652         allocate(du_gwd_rando(klon, klev))
     655        ALLOCATE(du_gwd_rando(klon, klev))
    653656        du_gwd_rando(:,:)=0.
    654657      ENDIF
     
    671674include "clesphys.h"
    672675
    673       deallocate(pctsrf, ftsol, falb1, falb2)
    674       deallocate(qsol,fevap,z0m,z0h,agesno)
     676      DEALLOCATE(pctsrf, ftsol, falb1, falb2)
     677      DEALLOCATE(qsol,fevap,z0m,z0h,agesno)
    675678!FC
    676       deallocate(treedrg)
    677       deallocate(rain_fall, snow_fall, solsw, sollw, radsol, swradcorr)
    678       deallocate(zmea, zstd, zsig, zgam)
    679       deallocate(zthe, zpic, zval)
    680       deallocate(rugoro, t_ancien, q_ancien, clwcon, rnebcon)
    681       deallocate(qs_ancien, ql_ancien)
    682       deallocate(prw_ancien, prlw_ancien, prsw_ancien)
    683       deallocate(qtc_cv,sigt_cv)
    684       deallocate(u_ancien, v_ancien)
    685       deallocate(tr_ancien)                           !RomP
    686       deallocate(ratqs, pbl_tke,coefh,coefm)
     679      DEALLOCATE(treedrg)
     680      DEALLOCATE(rain_fall, snow_fall, solsw, solswfdiff, sollw, radsol, swradcorr)
     681      DEALLOCATE(zmea, zstd, zsig, zgam)
     682      DEALLOCATE(zthe, zpic, zval)
     683      DEALLOCATE(rugoro, t_ancien, q_ancien, clwcon, rnebcon)
     684      DEALLOCATE(qs_ancien, ql_ancien)
     685      DEALLOCATE(prw_ancien, prlw_ancien, prsw_ancien)
     686      DEALLOCATE(qtc_cv,sigt_cv)
     687      DEALLOCATE(u_ancien, v_ancien)
     688      DEALLOCATE(tr_ancien)                           !RomP
     689      DEALLOCATE(ratqs, pbl_tke,coefh,coefm)
    687690!nrlmd<
    688       deallocate(delta_tsurf)
     691      DEALLOCATE(delta_tsurf)
    689692!>nrlmd
    690       deallocate(zmax0, f0)
    691       deallocate(sig1, w01)
    692       deallocate(entr_therm, fm_therm)
    693       deallocate(detr_therm)
    694       deallocate(clwcon0th, rnebcon0th)
     693      DEALLOCATE(zmax0, f0)
     694      DEALLOCATE(sig1, w01)
     695      DEALLOCATE(entr_therm, fm_therm)
     696      DEALLOCATE(detr_therm)
     697      DEALLOCATE(clwcon0th, rnebcon0th)
    695698! radiation outputs
    696       deallocate(swdnc0, swdn0, swdn)
    697       deallocate(swupc0, swup0, swup)
    698       deallocate(lwdnc0, lwdn0, lwdn)
    699       deallocate(lwupc0, lwup0, lwup)
    700       deallocate(SWdn200clr, SWdn200)
    701       deallocate(SWup200clr, SWup200)
    702       deallocate(LWdn200clr, LWdn200)
    703       deallocate(LWup200clr, LWup200)
    704       deallocate(LWdnTOA, LWdnTOAclr)
     699      DEALLOCATE(swdnc0, swdn0, swdn)
     700      DEALLOCATE(swupc0, swup0, swup)
     701      DEALLOCATE(lwdnc0, lwdn0, lwdn)
     702      DEALLOCATE(lwupc0, lwup0, lwup)
     703      DEALLOCATE(SWdn200clr, SWdn200)
     704      DEALLOCATE(SWup200clr, SWup200)
     705      DEALLOCATE(LWdn200clr, LWdn200)
     706      DEALLOCATE(LWup200clr, LWup200)
     707      DEALLOCATE(LWdnTOA, LWdnTOAclr)
    705708! pressure level
    706       deallocate(tsumSTD)
    707       deallocate(usumSTD, vsumSTD)
    708       deallocate(wsumSTD, phisumSTD)
    709       deallocate(tnondef)
    710       deallocate(qsumSTD, rhsumSTD)
    711       deallocate(uvsumSTD)
    712       deallocate(vqsumSTD)
    713       deallocate(vTsumSTD)
    714       deallocate(wqsumSTD)
    715       deallocate(vphisumSTD)
    716       deallocate(wTsumSTD)
    717       deallocate(u2sumSTD)
    718       deallocate(v2sumSTD)
    719       deallocate(T2sumSTD)
    720       deallocate(O3sumSTD)
    721       deallocate(O3daysumSTD)
     709      DEALLOCATE(tsumSTD)
     710      DEALLOCATE(usumSTD, vsumSTD)
     711      DEALLOCATE(wsumSTD, phisumSTD)
     712      DEALLOCATE(tnondef)
     713      DEALLOCATE(qsumSTD, rhsumSTD)
     714      DEALLOCATE(uvsumSTD)
     715      DEALLOCATE(vqsumSTD)
     716      DEALLOCATE(vTsumSTD)
     717      DEALLOCATE(wqsumSTD)
     718      DEALLOCATE(vphisumSTD)
     719      DEALLOCATE(wTsumSTD)
     720      DEALLOCATE(u2sumSTD)
     721      DEALLOCATE(v2sumSTD)
     722      DEALLOCATE(T2sumSTD)
     723      DEALLOCATE(O3sumSTD)
     724      DEALLOCATE(O3daysumSTD)
    722725!IM beg
    723       deallocate(wlevSTD,ulevSTD,vlevSTD,tlevSTD,qlevSTD,rhlevSTD,philevSTD)
    724       deallocate(uvSTD,vqSTD,vTSTD,wqSTD,vphiSTD,wTSTD,u2STD,v2STD,T2STD,O3STD,O3daySTD)
     726      DEALLOCATE(wlevSTD,ulevSTD,vlevSTD,tlevSTD,qlevSTD,rhlevSTD,philevSTD)
     727      DEALLOCATE(uvSTD,vqSTD,vTSTD,wqSTD,vphiSTD,wTSTD,u2STD,v2STD,T2STD,O3STD,O3daySTD)
    725728!IM end
    726       deallocate(seed_old)
    727       deallocate(zuthe, zvthe)
    728       deallocate(alb_neig)
    729       deallocate(ema_cbmf)
    730       deallocate(ema_pcb, ema_pct)
    731       deallocate(Mipsh, Ma, qcondc)
    732       deallocate(wd, sigd)
    733       deallocate(cin, ALE, ALP)
    734       deallocate(ftd, fqd)
    735       deallocate(Ale_bl, Alp_bl)
    736       deallocate(ale_wake)
    737       deallocate(ale_bl_stat)
    738       deallocate(lalim_conv, wght_th)
    739       deallocate(wake_deltat, wake_deltaq)
    740       deallocate(wake_s, awake_dens, wake_dens)
    741       deallocate(wake_Cstar, wake_pe, wake_fip)
     729      DEALLOCATE(seed_old)
     730      DEALLOCATE(zuthe, zvthe)
     731      DEALLOCATE(alb_neig)
     732      DEALLOCATE(ema_cbmf)
     733      DEALLOCATE(ema_pcb, ema_pct)
     734      DEALLOCATE(Mipsh, Ma, qcondc)
     735      DEALLOCATE(wd, sigd)
     736      DEALLOCATE(cin, ALE, ALP)
     737      DEALLOCATE(ftd, fqd)
     738      DEALLOCATE(Ale_bl, Alp_bl)
     739      DEALLOCATE(ale_wake)
     740      DEALLOCATE(ale_bl_stat)
     741      DEALLOCATE(lalim_conv, wght_th)
     742      DEALLOCATE(wake_deltat, wake_deltaq)
     743      DEALLOCATE(wake_s, awake_dens, wake_dens)
     744      DEALLOCATE(wake_Cstar, wake_pe, wake_fip)
    742745!jyg<
    743       deallocate(wake_delta_pbl_TKE)
     746      DEALLOCATE(wake_delta_pbl_TKE)
    744747!>jyg
    745       deallocate(pfrac_impa, pfrac_nucl)
    746       deallocate(pfrac_1nucl)
    747       deallocate(total_rain, nday_rain)
    748       deallocate(paire_ter)
    749       deallocate(albsol1, albsol2)
     748      DEALLOCATE(pfrac_impa, pfrac_nucl)
     749      DEALLOCATE(pfrac_1nucl)
     750      DEALLOCATE(total_rain, nday_rain)
     751      DEALLOCATE(paire_ter)
     752      DEALLOCATE(albsol1, albsol2)
    750753!albedo SB >>>
    751       deallocate(albsol_dir,albsol_dif,falb_dir,falb_dif,chl_con)
     754      DEALLOCATE(albsol_dir,albsol_dif,falb_dir,falb_dif,chl_con)
    752755!albedo SB <<<
    753       deallocate(wo)
    754       deallocate(clwcon0,rnebcon0)
    755       deallocate(heat, heat0)
    756       deallocate(cool, cool0)
    757       deallocate(heat_volc, cool_volc)
    758       deallocate(topsw, toplw)
    759       deallocate(sollwdown, sollwdownclr)
    760       deallocate(gustiness)
    761       deallocate(toplwdown, toplwdownclr)
    762       deallocate(topsw0,toplw0,solsw0,sollw0)
    763       deallocate(albpla)
     756      DEALLOCATE(wo)
     757      DEALLOCATE(clwcon0,rnebcon0)
     758      DEALLOCATE(heat, heat0)
     759      DEALLOCATE(cool, cool0)
     760      DEALLOCATE(heat_volc, cool_volc)
     761      DEALLOCATE(topsw, toplw)
     762      DEALLOCATE(sollwdown, sollwdownclr)
     763      DEALLOCATE(gustiness)
     764      DEALLOCATE(toplwdown, toplwdownclr)
     765      DEALLOCATE(topsw0,toplw0,solsw0,sollw0)
     766      DEALLOCATE(albpla)
    764767!IM ajout variables CFMIP2/CMIP5
    765       deallocate(heatp, coolp)
    766       deallocate(heat0p, cool0p)
    767       deallocate(radsolp, topswp, toplwp)
    768       deallocate(albplap)
    769       deallocate(solswp, sollwp)
    770       deallocate(sollwdownp)
    771       deallocate(topsw0p,toplw0p)
    772       deallocate(solsw0p,sollw0p)
    773       deallocate(lwdnc0p, lwdn0p, lwdnp)
    774       deallocate(lwupc0p, lwup0p, lwupp)
    775       deallocate(swdnc0p, swdn0p, swdnp)
    776       deallocate(swupc0p, swup0p, swupp)
    777       deallocate(cape)
    778       deallocate(pbase,bbase)
    779       deallocate(zqasc)
    780       deallocate(ibas_con, itop_con)
    781       deallocate(rain_con, snow_con)
    782       deallocate(rlonPOS)
    783       deallocate(newsst)
    784       deallocate(ustar,u10m, v10m,wstar)
    785       deallocate(topswad, solswad)
    786       deallocate(topswai, solswai)
    787       deallocate(tau_aero,piz_aero,cg_aero)
    788       deallocate(tau_aero_sw_rrtm,piz_aero_sw_rrtm,cg_aero_sw_rrtm)
    789       deallocate(tau_aero_lw_rrtm,piz_aero_lw_rrtm,cg_aero_lw_rrtm)
    790       deallocate(ccm)
    791       if (ok_gwd_rando) deallocate(du_gwd_rando)
    792       if (.not. ok_hines .and. ok_gwd_rando) deallocate(du_gwd_front)
     768      DEALLOCATE(heatp, coolp)
     769      DEALLOCATE(heat0p, cool0p)
     770      DEALLOCATE(radsolp, topswp, toplwp)
     771      DEALLOCATE(albplap)
     772      DEALLOCATE(solswp, solswfdiffp, sollwp)
     773      DEALLOCATE(sollwdownp)
     774      DEALLOCATE(topsw0p,toplw0p)
     775      DEALLOCATE(solsw0p,sollw0p)
     776      DEALLOCATE(lwdnc0p, lwdn0p, lwdnp)
     777      DEALLOCATE(lwupc0p, lwup0p, lwupp)
     778      DEALLOCATE(swdnc0p, swdn0p, swdnp)
     779      DEALLOCATE(swupc0p, swup0p, swupp)
     780      DEALLOCATE(cape)
     781      DEALLOCATE(pbase,bbase)
     782      DEALLOCATE(zqasc)
     783      DEALLOCATE(ibas_con, itop_con)
     784      DEALLOCATE(rain_con, snow_con)
     785      DEALLOCATE(rlonPOS)
     786      DEALLOCATE(newsst)
     787      DEALLOCATE(ustar,u10m, v10m,wstar)
     788      DEALLOCATE(topswad, solswad)
     789      DEALLOCATE(topswai, solswai)
     790      DEALLOCATE(tau_aero,piz_aero,cg_aero)
     791      DEALLOCATE(tau_aero_sw_rrtm,piz_aero_sw_rrtm,cg_aero_sw_rrtm)
     792      DEALLOCATE(tau_aero_lw_rrtm,piz_aero_lw_rrtm,cg_aero_lw_rrtm)
     793      DEALLOCATE(ccm)
     794      if (ok_gwd_rando) DEALLOCATE(du_gwd_rando)
     795      if (.not. ok_hines .and. ok_gwd_rando) DEALLOCATE(du_gwd_front)
    793796       
    794797!!! nrlmd le 10/04/2012
    795       deallocate(ale_bl_trig)
     798      DEALLOCATE(ale_bl_trig)
    796799!!! fin nrlmd le 10/04/2012
    797800
Note: See TracChangeset for help on using the changeset viewer.