Ignore:
Timestamp:
Jan 11, 2017, 3:33:51 PM (8 years ago)
Author:
jvatant
Message:

+ Major clean of the new LMDZ.TITAN from too-generic options and routines (water, co2, ocean, surface type ...)
+ From this revision LMDZ.TITAN begins to be really separated from LMDZ.GENERIC
+ Partial desactivation of aerosols, only the dummy case is still enabled to keep the code running ( new aerosol routines to come in followings commits )

JVO

Location:
trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/ini_archive.F

    r1478 r1647  
    3636
    3737      USE comsoil_h
    38       USE slab_ice_h, only: noceanmx
    3938!      use control_mod
    4039      USE comvert_mod, ONLY: ap,bp,aps,bps,presnivs,pseudoalt
     
    8180      INTEGER idim_tim
    8281      INTEGER idim_nsoilmx ! "subsurface_layers" dimension ID #
    83       INTEGER idim_noceanmx ! "ocean_layers" dimension ID #
    8482      INTEGER nid,nvarid
    8583      real sig_s(llm),s(llm)
     
    164162      ierr = NF_DEF_DIM (nid, "altitude", llm, idim_llm)
    165163      ierr = NF_DEF_DIM (nid,"subsurface_layers",nsoilmx,idim_nsoilmx)
    166       ierr = NF_DEF_DIM (nid,"ocean_layers",noceanmx,idim_noceanmx)
    167164
    168165      ierr = NF_DEF_DIM (nid,"index", length, idim_index)
  • trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/iniphysiq_mod.F90

    r1573 r1647  
    1111
    1212use control_mod, only: nday
    13 use surf_heat_transp_mod, only: ini_surf_heat_transp
    1413use infotrac, only : nqtot ! number of advected tracers
    1514use planete_mod, only: ini_planete_mod
     
    5352integer,intent(in) :: iflag_phys ! type of physics to be called
    5453
    55 logical :: ok_slab_ocean
    56 
    5754  ! the common part for all planetary physics
    5855  !------------------------------------------
     
    7976call ini_planete_mod(nlayer,preff,ap,bp)
    8077
    81 ! for slab ocean, copy over some arrays
    82 ok_slab_ocean=.false. ! default value
    83 call getin_p("ok_slab_ocean",ok_slab_ocean)
    84 if (ok_slab_ocean) then
    85   call ini_surf_heat_transp(ip1jm,ip1jmp1,unsairez,fext,unsaire, &
    86                             cu,cuvsurcv,cv,cvusurcu,aire,apoln,apols, &
    87                             aireu,airev)
    88 endif
    89 
    9078call inifis(klon_omp,nlayer,nqtot,pdayref,punjours,nday,ptimestep, &
    9179            latitude,longitude,cell_area,prad,pg,pr,pcpp)
  • trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/lect_start_archive.F

    r1478 r1647  
    22     &     date,tsurf,tsoil,emis,q2,
    33     &     t,ucov,vcov,ps,h,phisold_newgrid,
    4      &     q,qsurf,surfith,nid,
    5      &     rnat,pctsrf_sic,tslab,tsea_ice,sea_ice)
     4     &     q,qsurf,surfith,nid)
    65
    76!      USE surfdat_h
    87      USE comsoil_h, ONLY: nsoilmx, layer, mlayer, volcapa, inertiedat
    9       USE tracer_h, ONLY: igcm_co2_ice
    108      USE infotrac, ONLY: tname, nqtot
    11       USE slab_ice_h, ONLY: noceanmx
    129!      USE control_mod
    1310! to use  'getin'
    14       USE callkeys_mod, ONLY: ok_slab_ocean
    1511      USE comvert_mod, ONLY: ap,bp,aps,bps,preff
    1612      USE comconst_mod, ONLY: kappa,g,pi
     
    10197      REAL tsurf(ngrid) ! surface temperature
    10298      REAL tsoil(ngrid,nsoilmx) ! soil temperature
    103       REAL co2ice(ngrid) ! CO2 ice layer
    10499      REAL emis(ngrid)
    105100      REAL q2(ngrid,llm+1),qsurf(ngrid,nqtot)
    106       REAL tslab(ngrid,noceanmx)
    107       REAL rnat(ngrid),pctsrf_sic(ngrid)
    108       REAL tsea_ice(ngrid),sea_ice(ngrid)
    109101c     REAL phisfi(ngrid)
    110102
     
    126118      real tsurfS(iip1,jjp1),tsoilS(iip1,jjp1,nsoilmx)
    127119      real inertiedatS(iip1,jjp1,nsoilmx)
    128       real co2iceS(iip1,jjp1)
    129120      real emisS(iip1,jjp1)
    130121      REAL q2S(iip1,jjp1,llm+1),qsurfS(iip1,jjp1,nqtot)
    131       real tslabS(iip1,jjp1,noceanmx)
    132       real pctsrf_sicS(iip1,jjp1),tsea_iceS(iip1,jjp1)
    133       real rnatS(iip1,jjp1), sea_iceS(iip1,jjp1)
    134 
    135       real ptotal, co2icetotal
     122     
     123      real ptotal
    136124
    137125c Var intermediaires : vent naturel, mais pas coord scalaire
     
    156144      real, dimension(:,:,:), allocatable :: inertiedatoldnew
    157145      real, dimension(:,:), allocatable :: psold,phisold
    158       real, dimension(:,:), allocatable :: co2iceold
    159146      real, dimension(:,:), allocatable :: tsurfold
    160147      real, dimension(:,:), allocatable :: emisold
    161148      real, dimension(:,:,:,:), allocatable :: qold
    162       real, dimension(:,:,:), allocatable :: tslabold
    163       real, dimension(:,:), allocatable :: rnatold,pctsrf_sicold
    164       real, dimension(:,:), allocatable :: tsea_iceold,sea_iceold
    165 
    166149
    167150      real tab_cntrl(100)
    168151
    169       real ptotalold, co2icetotalold
     152      real ptotalold
    170153
    171154      logical :: olddepthdef=.false. ! flag
     
    300283      allocate(phisold(imold+1,jmold+1))
    301284      allocate(qold(imold+1,jmold+1,lmold,nqtot))
    302       allocate(co2iceold(imold+1,jmold+1))
    303285      allocate(tsurfold(imold+1,jmold+1))
    304286      allocate(emisold(imold+1,jmold+1))
     
    313295      allocate(mlayerold(nsoilold))
    314296      allocate(qsurfold(imold+1,jmold+1,nqtot))
    315       allocate(tslabold(imold+1,jmold+1,noceanmx))
    316       allocate(rnatold(imold+1,jmold+1))
    317       allocate(pctsrf_sicold(imold+1,jmold+1))
    318       allocate(tsea_iceold(imold+1,jmold+1))
    319       allocate(sea_iceold(imold+1,jmold+1))
    320297
    321298      allocate(var (imold+1,jmold+1,llm))
     
    332309C-----------------------------------------------------------------------
    333310c 3.1. Lecture du tableau des parametres du run
    334 c     (pour  la lecture ulterieure de "ptotalold" et "co2icetotalold")
     311c     (pour  la lecture ulterieure de "ptotalold")
    335312c-----------------------------------------------------------------------
    336313c
     
    556533
    557534C-----------------------------------------------------------------------
    558 c   lecture de "ptotalold" et "co2icetotalold"
     535c   lecture de "ptotalold"
    559536c-----------------------------------------------------------------------
    560537      ptotalold = tab_cntrl(tab0+49)
    561       co2icetotalold = tab_cntrl(tab0+50)
    562538 
    563539c-----------------------------------------------------------------------
     
    636612
    637613c-----------------------------------------------------------------------
    638 c 5.1 Lecture des champs 2D (co2ice, emis,ps,tsurf,Tg[10], qsurf)
     614c 5.1 Lecture des champs 2D (emis,ps,tsurf,Tg[10], qsurf)
    639615c-----------------------------------------------------------------------
    640616 
     
    642618      count=(/imold+1,jmold+1,1,0/)
    643619       
    644 ! CO2ice is now in qsurf(igcm_co2_ice) ...
    645 !      ierr = NF_INQ_VARID (nid, "co2ice", nvarid)
    646 !      IF (ierr .NE. NF_NOERR) THEN
    647 !         PRINT*, "lect_start_archive: Le champ <co2ice> est absent"
    648 !         CALL abort
    649 !      ENDIF
    650 !#ifdef NC_DOUBLE
    651 !      ierr = NF_GET_VARA_DOUBLE(nid, nvarid,start,count,co2iceold)
    652 !#else
    653 !      ierr = NF_GET_VARA_REAL(nid, nvarid,start,count,co2iceold)
    654 !#endif
    655 !      IF (ierr .NE. NF_NOERR) THEN
    656 !         PRINT*, "lect_start_archive: Lecture echouee pour <co2ice>"
    657 !         PRINT*, NF_STRERROR(ierr)
    658 !         CALL abort
    659 !      ENDIF
    660 c
     620
    661621      ierr = NF_INQ_VARID (nid, "emis", nvarid)
    662622      IF (ierr .NE. NF_NOERR) THEN
     
    718678         CALL abort
    719679      ENDIF
    720 c
    721 cc Slab ocean
    722       if(ok_slab_ocean) then
    723       start=(/1,1,1,memo/)
    724       count=(/imold+1,jmold+1,noceanmx,1/)
    725 
    726        ierr=NF_INQ_VARID(nid,"tslab",nvarid)
    727        IF (ierr.ne.NF_NOERR) then
    728           PRINT*,"lect_start_archive: Cannot find <tslab>"
    729        ENDIF
    730 #ifdef NC_DOUBLE
    731       ierr=NF_GET_VARA_DOUBLE(nid,nvarid,start,count,tslabold)
    732 #else
    733       ierr=NF_GET_VARA_REAL(nid,nvarid,start,count,tslabold)
    734 #endif
    735       IF (ierr .NE. NF_NOERR) THEN
    736          PRINT*, "lect_start_archive: Lecture echouee pour <tslab>"
    737       ENDIF
    738 
    739 
    740 c
    741       start=(/1,1,memo,0/)
    742       count=(/imold+1,jmold+1,1,0/)
    743 
    744       ierr = NF_INQ_VARID (nid, "rnat", nvarid)
    745       IF (ierr .NE. NF_NOERR) THEN
    746          PRINT*, "lect_start_archive: Le champ <rnat> est absent"
    747       ENDIF
    748 #ifdef NC_DOUBLE
    749       ierr = NF_GET_VARA_DOUBLE(nid, nvarid,start,count,rnatold)
    750 #else
    751       ierr = NF_GET_VARA_REAL(nid, nvarid,start,count,rnatold)
    752 #endif
    753       IF (ierr .NE. NF_NOERR) THEN
    754          PRINT*, "lect_start_archive: Lecture echouee pour <rnat>"
    755       ENDIF
    756 c
    757       ierr = NF_INQ_VARID (nid, "pctsrf_sic", nvarid)
    758       IF (ierr .NE. NF_NOERR) THEN
    759          PRINT*, "lect_start_archive: Le champ <pctsrf_sic> est absent"
    760       ENDIF
    761 #ifdef NC_DOUBLE
    762       ierr = NF_GET_VARA_DOUBLE(nid, nvarid,start,count,pctsrf_sicold)
    763 #else
    764       ierr = NF_GET_VARA_REAL(nid, nvarid,start,count,pctsrf_sicold)
    765 #endif
    766       IF (ierr .NE. NF_NOERR) THEN
    767          PRINT*, "lect_start_archive: Lecture echouee pour <pctsrf_sic>"
    768       ENDIF
    769 c
    770       ierr = NF_INQ_VARID (nid, "tsea_ice", nvarid)
    771       IF (ierr .NE. NF_NOERR) THEN
    772          PRINT*, "lect_start_archive: Le champ <tsea_ice> est absent"
    773       ENDIF
    774 #ifdef NC_DOUBLE
    775       ierr = NF_GET_VARA_DOUBLE(nid, nvarid,start,count,tsea_iceold)
    776 #else
    777       ierr = NF_GET_VARA_REAL(nid, nvarid,start,count,tsea_iceold)
    778 #endif
    779       IF (ierr .NE. NF_NOERR) THEN
    780          PRINT*, "lect_start_archive: Lecture echouee pour <tsea_ice>"
    781       ENDIF
    782 c
    783       ierr = NF_INQ_VARID (nid, "sea_ice", nvarid)
    784       IF (ierr .NE. NF_NOERR) THEN
    785          PRINT*, "lect_start_archive: Le champ <sea_ice> est absent"
    786       ENDIF
    787 #ifdef NC_DOUBLE
    788       ierr = NF_GET_VARA_DOUBLE(nid, nvarid,start,count,sea_iceold)
    789 #else
    790       ierr = NF_GET_VARA_REAL(nid, nvarid,start,count,sea_iceold)
    791 #endif
    792       IF (ierr .NE. NF_NOERR) THEN
    793          PRINT*, "lect_start_archive: Lecture echouee pour <sea_ice>"
    794       ENDIF
    795  
    796       ENDIF! ok_slab_ocean
     680
    797681c
    798682      write(*,*)"lect_start_archive: rlonuold:"
     
    813697
    814698      DO iq=1,nqtot
    815           txt=trim(tname(iq))//"_surf"
    816           if (txt.eq."h2o_vap") then
    817             ! There is no surface tracer for h2o_vap;
    818             ! "h2o_ice" should be loaded instead
    819             txt="h2o_ice_surf"
    820             write(*,*) 'lect_start_archive: loading surface tracer',
    821      &                     ' h2o_ice instead of h2o_vap'
    822           endif
    823 
    824699       
    825700        write(*,*) "lect_start_archive: loading tracer ",trim(txt)
     
    1045920     &                   rlonuold,rlatvold,rlonu,rlatv)
    1046921
    1047 ! CO2 ice is now in qsurf(igcm_co2_ice)
    1048 !      call interp_horiz (co2iceold,co2ices,imold,jmold,iim,jjm,1,
    1049 !     &                   rlonuold,rlatvold,rlonu,rlatv)
    1050 
    1051922c Temperature de surface
    1052923      call interp_horiz (tsurfold,tsurfs,imold,jmold,iim,jjm,1,
     
    1088959         END DO
    1089960      END DO
    1090       co2icetotal = 0.
    1091       if (igcm_co2_ice.ne.0) then
    1092         ! recast surface CO2 ice on new grid
    1093         call interp_horiz(qsurfold(1,1,igcm_co2_ice),
    1094      &                  qsurfs(1,1,igcm_co2_ice),
    1095      &                  imold,jmold,iim,jjm,1,
    1096      &                  rlonuold,rlatvold,rlonu,rlatv)
    1097        DO j=1,jjp1
    1098          DO i=1,iim
    1099            !co2icetotal = co2icetotal + co2iceS(i,j)*aire(i,j)
    1100            co2icetotal=co2icetotal+qsurfS(i,j,igcm_co2_ice)*aire(i,j)
    1101          END DO
    1102        END DO
    1103       else
    1104         write(*,*) "Warning: No co2_ice surface tracer"
    1105       endif
     961     
    1106962
    1107963      write(*,*)
     
    1110966      write (*,*) 'Ratio new atm./ old atm =', ptotal/ptotalold
    1111967      write(*,*)
    1112       write(*,*)'Ancienne grille: masse de la glace CO2:',co2icetotalold
    1113       write(*,*)'Nouvelle grille: masse de la glace CO2:',co2icetotal
    1114       if (co2icetotalold.ne.0.) then
    1115       write(*,*)'Ratio new ice./old ice =',co2icetotal/co2icetotalold
    1116       endif
    1117       write(*,*)
    1118 
    1119968
    1120969      DO j=1,jjp1
     
    1124973      END DO
    1125974
    1126       if ( co2icetotalold.gt.0.) then
    1127 !         DO j=1,jjp1
    1128 !            DO i=1,iip1
    1129 !               co2iceS(i,j)=co2iceS(i,j) * co2icetotalold/co2icetotal
    1130 !            END DO
    1131 !         END DO
    1132         write(*,*) "Not enforcing conservation of surface CO2 ice"
    1133         write(*,*) " (should be OK when CO2 ice is a tracer)"
    1134       end if
    1135975
    1136976c-----------------------------------------------------------------------
     
    12901130
    12911131c-----------------------------------------------------------------------
    1292 c 6.3   Slab Ocean :
    1293 c-----------------------------------------------------------------------
    1294       call interp_horiz (tslabold,tslabs,imold,jmold,iim,jjm,noceanmx,
    1295      &                   rlonuold,rlatvold,rlonu,rlatv)
    1296       call gr_dyn_fi (noceanmx,iim+1,jjm+1,ngrid,tslabs,tslab)
    1297 
    1298       call interp_horiz (rnatold,rnats,imold,jmold,iim,jjm,1,
    1299      &                   rlonuold,rlatvold,rlonu,rlatv)
    1300       call gr_dyn_fi (1,iim+1,jjm+1,ngrid,rnats,rnat)
    1301 
    1302       call interp_horiz (pctsrf_sicold,pctsrf_sics,imold,jmold,iim,
    1303      &                   jjm,1,rlonuold,rlatvold,rlonu,rlatv)
    1304       call gr_dyn_fi (1,iim+1,jjm+1,ngrid,pctsrf_sics,pctsrf_sic)
    1305 
    1306       call interp_horiz (tsea_iceold,tsea_ices,imold,jmold,iim,jjm,1,
    1307      &                   rlonuold,rlatvold,rlonu,rlatv)
    1308       call gr_dyn_fi (1,iim+1,jjm+1,ngrid,tsea_ices,tsea_ice)
    1309 
    1310       call interp_horiz (sea_iceold,sea_ices,imold,jmold,iim,jjm,1,
    1311      &                   rlonuold,rlatvold,rlonu,rlatv)
    1312       call gr_dyn_fi (1,iim+1,jjm+1,ngrid,sea_ices,sea_ice)
    1313 
    1314 c-----------------------------------------------------------------------
    1315 c 6.4 Variable 3d :
     1132c 6.3 Variable 3d :
    13161133c-----------------------------------------------------------------------
    13171134     
     
    14341251         end do
    14351252      enddo
    1436      
    1437 !      call gr_dyn_fi (1,iim+1,jjm+1,ngrid,co2ices,co2ice)
    1438 ! no need to transfer "co2ice" any more; it is in qsurf(igcm_co2_ice)
    14391253
    14401254      endif !! if nqtot .ne. 0
     
    14701284      deallocate(phisold)
    14711285      deallocate(qold)
    1472       deallocate(co2iceold)
    14731286      deallocate(tsurfold)
    14741287      deallocate(emisold)
     
    14821295      deallocate(qsurfold)
    14831296      deallocate(var,varp1)
    1484       deallocate(tslabold)
    1485       deallocate(rnatold)
    1486       deallocate(pctsrf_sicold)
    1487       deallocate(tsea_iceold)
    1488       deallocate(sea_iceold)
    14891297
    14901298!      write(*,*)'lect_start_archive: END'
  • trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/newstart.F

    r1644 r1647  
    1919     &                              is_master
    2020      use infotrac, only: infotrac_init, nqtot, tname
    21       USE tracer_h, ONLY: igcm_co2_ice, igcm_h2o_vap, igcm_h2o_ice
    2221      USE comsoil_h, ONLY: nsoilmx, layer, mlayer, inertiedat
    2322      USE surfdat_h, ONLY: phisfi, albedodat,
     
    2827      use phyredem, only: physdem0, physdem1
    2928      use iostart, only: open_startphy
    30       use slab_ice_h, only:noceanmx
    3129      use filtreg_mod, only: inifilr
    3230      USE mod_const_mpi, ONLY: COMM_LMDZ
     
    9593      REAL tsurf(ngridmx)        ! surface temperature
    9694      REAL,ALLOCATABLE :: tsoil(:,:) ! soil temperature
    97 !      REAL co2ice(ngridmx)        ! CO2 ice layer
    9895      REAL emis(ngridmx)        ! surface emissivity
    9996      real emisread             ! added by RW
     
    109106      real mugaz ! molar mass of the atmosphere
    110107
    111       integer ierr
    112 
    113       REAL rnat(ngridmx)
    114       REAL,ALLOCATABLE :: tslab(:,:) ! slab ocean temperature
    115       REAL pctsrf_sic(ngridmx) ! sea ice cover
    116       REAL tsea_ice(ngridmx) ! temperature sea_ice
    117       REAL sea_ice(ngridmx) ! mass of sea ice (kg/m2)
     108      integer ierr
    118109
    119110c Variables on the new grid along scalar points
     
    153144      logical :: flagtset=.false. ,  flagps0=.false.
    154145      real val, val2, val3, val4 ! to store temporary variables
    155       real :: iceith=2000 ! thermal inertia of subterranean ice
    156146
    157147      INTEGER :: itau
     
    165155!     added by BC for equilibrium temperature startup
    166156      real teque
    167 
    168 !     added by BC for cloud fraction setup
    169       REAL hice(ngridmx),cloudfrac(ngridmx,llm)
    170       REAL totalfrac(ngridmx)
    171 
    172157
    173158!     added by RW for nuketharsis
     
    209194      allocate(tsoil(ngridmx,nsoilmx))
    210195      allocate(ith(iip1,jjp1,nsoilmx),ithfi(ngridmx,nsoilmx))
    211       allocate(tslab(ngridmx,nsoilmx))
    212196     
    213197c=======================================================================
     
    355339        CALL phyetat0 (ngridmx,llm,fichnom,tab0,Lmodif,nsoilmx,
    356340     .        nqtot,day_ini,time,
    357      .        tsurf,tsoil,emis,q2,qsurf,   !) ! temporary modif by RDW
    358      .        cloudfrac,totalfrac,hice,rnat,pctsrf_sic,tslab,tsea_ice,
    359      .        sea_ice)
     341     .        tsurf,tsoil,emis,q2,qsurf)
    360342
    361343        ! copy albedo and soil thermal inertia on (local) physics grid
     
    549531     &   date,tsurf,tsoil,emis,q2,
    550532     &   t,ucov,vcov,ps,teta,phisold_newgrid,q,qsurf,
    551      &   surfith,nid,
    552      &   rnat,pctsrf_sic,tslab,tsea_ice,sea_ice)
     533     &   surfith,nid)
    553534        write(*,*) "OK, read start_archive file"
    554535        ! copy soil thermal inertia
     
    784765        else if (trim(modif).eq.'ptot') then
    785766
    786           ! check if we have a co2_ice surface tracer:
    787           if (igcm_co2_ice.eq.0) then
    788             write(*,*) " No surface CO2 ice !"
    789             write(*,*) " only atmospheric pressure will be considered!"
    790           endif
    791767c         calcul de la pression totale glace + atm actuelle
    792768          patm=0.
     
    800776                patm = patm + ps(i,j)*aire(i,j)
    801777                airetot= airetot + aire(i,j)
    802                 if (igcm_co2_ice.ne.0) then
    803                   !pcap = pcap + aire(i,j)*co2ice(ig)*g
    804                   pcap = pcap + aire(i,j)*qsurf(ig,igcm_co2_ice)*g
    805                 endif
    806778             ENDDO
    807779          ENDDO
    808780          ptoto = pcap + patm
    809781
    810           print*,'Current total pressure at surface (co2 ice + atm) ',
     782          print*,'Current total pressure at surface (atm) ',
    811783     &       ptoto/airetot
    812784
     
    10481020       else if (trim(modif) .eq. 'wetstart') then
    10491021        ! check that there is indeed a water vapor tracer
    1050         if (igcm_h2o_vap.eq.0) then
     1022
    10511023          write(*,*) "No water vapour tracer! Can't use this option"
    10521024          stop
    1053         endif
    1054           DO l=1,llm
    1055             DO j=1,jjp1
    1056               DO i=1,iip1
    1057                 q(i,j,l,igcm_h2o_vap)=150.e-6 * (rlatu(j)+pi/2.) / pi
    1058               ENDDO
    1059             ENDDO
    1060           ENDDO
    1061 
    1062          write(*,*) 'Water mass mixing ratio at north pole='
    1063      *               ,q(1,1,1,igcm_h2o_vap)
    1064          write(*,*) '---------------------------south pole='
    1065      *               ,q(1,jjp1,1,igcm_h2o_vap)
    10661025
    10671026c      noglacier : remove tropical water ice (to initialize high res sim)
    10681027c      --------------------------------------------------
    10691028        else if (trim(modif) .eq. 'noglacier') then
    1070            if (igcm_h2o_ice.eq.0) then
     1029       
    10711030             write(*,*) "No water ice tracer! Can't use this option"
    10721031             stop
    1073            endif
    1074            do ig=1,ngridmx
    1075              j=(ig-2)/iim +2
    1076               if(ig.eq.1) j=1
    1077               write(*,*) 'OK: remove surface ice for |lat|<45'
    1078               if (abs(rlatu(j)*180./pi).lt.45.) then
    1079                    qsurf(ig,igcm_h2o_ice)=0.
    1080               end if
    1081            end do
     1032
    10821033
    10831034
     
    10851036c      --------------------------------------------------
    10861037        else if (trim(modif) .eq. 'watercapn') then
    1087            if (igcm_h2o_ice.eq.0) then
     1038       
    10881039             write(*,*) "No water ice tracer! Can't use this option"
    10891040             stop
    1090            endif
    1091 
    1092            DO j=1,jjp1       
    1093               DO i=1,iim
    1094                  ig=1+(j-2)*iim +i
    1095                  if(j.eq.1) ig=1
    1096                  if(j.eq.jjp1) ig=ngridmx
    1097 
    1098                  if (rlatu(j)*180./pi.gt.80.) then
    1099                     qsurf(ig,igcm_h2o_ice)=3.4e3
    1100                     !do isoil=1,nsoilmx
    1101                     !   ith(i,j,isoil) = 18000. ! thermal inertia
    1102                     !enddo
    1103                    write(*,*)'     ==> Ice mesh North boundary (deg)= ',
    1104      &                   rlatv(j-1)*180./pi
    1105                  end if
    1106               ENDDO
    1107            ENDDO
    1108            CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1109 
    1110 c$$$           do ig=1,ngridmx
    1111 c$$$             j=(ig-2)/iim +2
    1112 c$$$              if(ig.eq.1) j=1
    1113 c$$$              if (rlatu(j)*180./pi.gt.80.) then
    1114 c$$$
    1115 c$$$                   qsurf(ig,igcm_h2o_ice)=1.e5
    1116 c$$$                   qsurf(ig,igcm_h2o_vap)=0.0!1.e5
    1117 c$$$
    1118 c$$$                   write(*,*) 'ig=',ig,'    H2O ice mass (kg/m2)= ',
    1119 c$$$     &              qsurf(ig,igcm_h2o_ice)
    1120 c$$$
    1121 c$$$                   write(*,*)'     ==> Ice mesh South boundary (deg)= ',
    1122 c$$$     &              rlatv(j)*180./pi
    1123 c$$$                end if
    1124 c$$$           enddo
    11251041
    11261042c      watercaps : H20 ice on permanent southern cap
    11271043c      -------------------------------------------------
    11281044        else if (trim(modif) .eq. 'watercaps') then
    1129            if (igcm_h2o_ice.eq.0) then
     1045
    11301046              write(*,*) "No water ice tracer! Can't use this option"
    11311047              stop
    1132            endif
    1133 
    1134            DO j=1,jjp1       
    1135               DO i=1,iim
    1136                  ig=1+(j-2)*iim +i
    1137                  if(j.eq.1) ig=1
    1138                  if(j.eq.jjp1) ig=ngridmx
    1139 
    1140                  if (rlatu(j)*180./pi.lt.-80.) then
    1141                     qsurf(ig,igcm_h2o_ice)=3.4e3
    1142                     !do isoil=1,nsoilmx
    1143                     !   ith(i,j,isoil) = 18000. ! thermal inertia
    1144                     !enddo
    1145                    write(*,*)'     ==> Ice mesh South boundary (deg)= ',
    1146      &                   rlatv(j-1)*180./pi
    1147                  end if
    1148               ENDDO
    1149            ENDDO
    1150            CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1151 
    1152 c$$$           do ig=1,ngridmx
    1153 c$$$               j=(ig-2)/iim +2
    1154 c$$$               if(ig.eq.1) j=1
    1155 c$$$               if (rlatu(j)*180./pi.lt.-80.) then
    1156 c$$$                  qsurf(ig,igcm_h2o_ice)=1.e5
    1157 c$$$                  qsurf(ig,igcm_h2o_vap)=0.0 !1.e5
    1158 c$$$
    1159 c$$$                  write(*,*) 'ig=',ig,'   H2O ice mass (kg/m2)= ',
    1160 c$$$     &                 qsurf(ig,igcm_h2o_ice)
    1161 c$$$                  write(*,*)'     ==> Ice mesh North boundary (deg)= ',
    1162 c$$$     &                 rlatv(j-1)*180./pi
    1163 c$$$               end if
    1164 c$$$           enddo
    1165 
    11661048
    11671049c       noacglac : H2O ice across highest terrain
    11681050c       --------------------------------------------
    11691051        else if (trim(modif) .eq. 'noacglac') then
    1170            if (igcm_h2o_ice.eq.0) then
     1052
    11711053             write(*,*) "No water ice tracer! Can't use this option"
    11721054             stop
    1173            endif
    1174           DO j=1,jjp1       
    1175              DO i=1,iim
    1176                 ig=1+(j-2)*iim +i
    1177                 if(j.eq.1) ig=1
    1178                 if(j.eq.jjp1) ig=ngridmx
    1179 
    1180                 if(phis(i,j).gt.1000.*g)then
    1181                     alb(i,j) = 0.5 ! snow value
    1182                     do isoil=1,nsoilmx
    1183                        ith(i,j,isoil) = 18000. ! thermal inertia
    1184                        ! this leads to rnat set to 'ocean' in physiq.F90
    1185                        ! actually no, because it is soil not surface
    1186                     enddo
    1187                 endif
    1188              ENDDO
    1189           ENDDO
    1190           CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1191           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,alb,albfi)
    1192           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,phis,phisfi)
    1193 
    1194 
    11951055
    11961056c       oborealis : H2O oceans across Vastitas Borealis
    11971057c       -----------------------------------------------
    11981058        else if (trim(modif) .eq. 'oborealis') then
    1199            if (igcm_h2o_ice.eq.0) then
     1059
    12001060             write(*,*) "No water ice tracer! Can't use this option"
    12011061             stop
    1202            endif
    1203           DO j=1,jjp1       
    1204              DO i=1,iim
    1205                 ig=1+(j-2)*iim +i
    1206                 if(j.eq.1) ig=1
    1207                 if(j.eq.jjp1) ig=ngridmx
    1208 
    1209                 if(phis(i,j).lt.-4000.*g)then
    1210 !                if( (phis(i,j).lt.-4000.*g)
    1211 !     &               .and. (rlatu(j)*180./pi.lt.0.) )then ! south hemisphere only
    1212 !                    phis(i,j)=-8000.0*g ! proper ocean
    1213                     phis(i,j)=-4000.0*g ! scanty ocean
    1214 
    1215                     alb(i,j) = 0.07 ! oceanic value
    1216                     do isoil=1,nsoilmx
    1217                        ith(i,j,isoil) = 18000. ! thermal inertia
    1218                        ! this leads to rnat set to 'ocean' in physiq.F90
    1219                        ! actually no, because it is soil not surface
    1220                     enddo
    1221                 endif
    1222              ENDDO
    1223           ENDDO
    1224           CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1225           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,alb,albfi)
    1226           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,phis,phisfi)
    1227 
     1062             
    12281063c       iborealis : H2O ice in Northern plains
    12291064c       --------------------------------------
    12301065        else if (trim(modif) .eq. 'iborealis') then
    1231            if (igcm_h2o_ice.eq.0) then
     1066
    12321067             write(*,*) "No water ice tracer! Can't use this option"
    12331068             stop
    1234            endif
    1235           DO j=1,jjp1       
    1236              DO i=1,iim
    1237                 ig=1+(j-2)*iim +i
    1238                 if(j.eq.1) ig=1
    1239                 if(j.eq.jjp1) ig=ngridmx
    1240 
    1241                 if(phis(i,j).lt.-4000.*g)then
    1242                    !qsurf(ig,igcm_h2o_ice)=1.e3
    1243                    qsurf(ig,igcm_h2o_ice)=241.4 ! to make total 33 kg m^-2
    1244                 endif
    1245              ENDDO
    1246           ENDDO
    1247           CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1248           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,alb,albfi)
    1249           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,phis,phisfi)
    1250 
    12511069
    12521070c       oceanball : H2O liquid everywhere
    12531071c       ----------------------------
    12541072        else if (trim(modif) .eq. 'oceanball') then
    1255            if (igcm_h2o_ice.eq.0) then
     1073
    12561074             write(*,*) "No water ice tracer! Can't use this option"
    12571075             stop
    1258            endif
    1259           DO j=1,jjp1       
    1260              DO i=1,iim
    1261                 ig=1+(j-2)*iim +i
    1262                 if(j.eq.1) ig=1
    1263                 if(j.eq.jjp1) ig=ngridmx
    1264 
    1265                 qsurf(ig,igcm_h2o_vap)=0.0    ! for ocean, this is infinite source
    1266                 qsurf(ig,igcm_h2o_ice)=0.0
    1267                 alb(i,j) = 0.07 ! ocean value
    1268 
    1269                 do isoil=1,nsoilmx
    1270                    ith(i,j,isoil) = 18000. ! thermal inertia
    1271                    !ith(i,j,isoil) = 50. ! extremely low for test
    1272                    ! this leads to rnat set to 'ocean' in physiq.F90
    1273                 enddo
    1274 
    1275              ENDDO
    1276           ENDDO
    1277           CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1278           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,alb,albfi)
    1279           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,phis,phisfi)
    12801076
    12811077c       iceball : H2O ice everywhere
    12821078c       ----------------------------
    12831079        else if (trim(modif) .eq. 'iceball') then
    1284            if (igcm_h2o_ice.eq.0) then
     1080
    12851081             write(*,*) "No water ice tracer! Can't use this option"
    12861082             stop
    1287            endif
    1288           DO j=1,jjp1       
    1289              DO i=1,iim
    1290                 ig=1+(j-2)*iim +i
    1291                 if(j.eq.1) ig=1
    1292                 if(j.eq.jjp1) ig=ngridmx
    1293 
    1294                 qsurf(ig,igcm_h2o_vap)=-50.    ! for ocean, this is infinite source
    1295                 qsurf(ig,igcm_h2o_ice)=50.     ! == to 0.05 m of oceanic ice
    1296                 alb(i,j) = 0.6 ! ice albedo value
    1297 
    1298                 do isoil=1,nsoilmx
    1299                    !ith(i,j,isoil) = 18000. ! thermal inertia
    1300                    ! this leads to rnat set to 'ocean' in physiq.F90
    1301                 enddo
    1302 
    1303              ENDDO
    1304           ENDDO
    1305           CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1306           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,alb,albfi)
    13071083
    13081084c       supercontinent : H2O ice everywhere
    13091085c       ----------------------------
    13101086        else if (trim(modif) .eq. 'supercontinent') then
    1311           write(*,*) 'Minimum longitude (-180,180)'
    1312           read(*,*) val
    1313           write(*,*) 'Maximum longitude (-180,180)'
    1314           read(*,*) val2
    1315           write(*,*) 'Minimum latitude (-90,90)'
    1316           read(*,*) val3
    1317           write(*,*) 'Maximum latitude (-90,90)'
    1318           read(*,*) val4
    1319 
    1320           do j=1,jjp1
    1321             do i=1,iip1
    1322               ig=1+(j-2)*iim +i
    1323               if(j.eq.1) ig=1
    1324               if(j.eq.jjp1) ig=ngridmx
    1325 
    1326 c             Supercontinent:
    1327               if (((rlatu(j)*180./pi.le.val4).and.
    1328      &            (rlatu(j)*180./pi.ge.val3).and.
    1329      &            (rlonv(i)*180./pi.le.val2).and.
    1330      &            (rlonv(i)*180./pi.ge.val))) then
    1331 
    1332                 rnat(ig)=1.
    1333                 alb(i,j) = 0.3
    1334                 do isoil=1,nsoilmx
    1335                   ith(i,j,isoil) = 2000.
    1336                 enddo
    1337 c             Ocean:
    1338               else
    1339                 rnat(ig)=0.
    1340                 alb(i,j) = 0.07
    1341                 do isoil=1,nsoilmx
    1342                   ith(i,j,isoil) = 18000.
    1343                 enddo
    1344               end if
    1345 
    1346             enddo
    1347           enddo
    1348           CALL gr_dyn_fi(nsoilmx,iip1,jjp1,ngridmx,ith,ithfi)
    1349           CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,alb,albfi)
     1087 
     1088             write(*,*) "No water ice tracer! Can't use this option"
     1089             stop
    13501090
    13511091c       isotherm : Isothermal temperatures and no winds
     
    14451185c       ------------------------------------------------
    14461186        else if (trim(modif) .eq. 'co2ice=0') then
    1447          ! check that there is indeed a co2_ice tracer ...
    1448           if (igcm_co2_ice.ne.0) then
    1449            do ig=1,ngridmx
    1450               !co2ice(ig)=0
    1451               qsurf(ig,igcm_co2_ice)=0
    1452               emis(ig)=emis(ngridmx/2)
    1453            end do
    1454           else
    14551187            write(*,*) "Can't remove CO2 ice!! (no co2_ice tracer)"
    1456           endif
     1188       
    14571189       
    14581190!       therm_ini_s: (re)-set soil thermal inertia to reference surface values
     
    14841216c       ------------------------------------------------
    14851217        else if (trim(modif) .eq. 'slab_ocean_0') then
    1486         write(*,*)'OK: initialisation of slab ocean'
    1487 
    1488       DO ig=1, ngridmx
    1489          rnat(ig)=1.
    1490          tslab(ig,1)=0.
    1491          tslab(ig,2)=0.
    1492          tsea_ice(ig)=0.
    1493          sea_ice(ig)=0.
    1494          pctsrf_sic(ig)=0.
    1495          
    1496          if(ithfi(ig,1).GT.10000.)then
    1497            rnat(ig)=0.
    1498            phisfi(ig)=0.
    1499            tsea_ice(ig)=273.15-1.8
    1500            tslab(ig,1)=tsurf(ig)
    1501            tslab(ig,2)=tsurf(ig)!*2./3.+(273.15-1.8)/3.
    1502           endif
    1503 
    1504       ENDDO
    1505           CALL gr_fi_dyn(1,ngridmx,iip1,jjp1,phisfi,phis)
    1506 
    1507 
     1218       
     1219           write(*,*) "No ocean yet on Titan ! Can't use this option"
     1220           stop
    15081221
    15091222        else
     
    15171230 999  continue
    15181231
    1519  
    1520 c=======================================================================
    1521 c   Initialisation for cloud fraction and oceanic ice (added by BC 2010)
    1522 c=======================================================================
    1523       DO ig=1, ngridmx
    1524          totalfrac(ig)=0.5
    1525          DO l=1,llm
    1526             cloudfrac(ig,l)=0.5
    1527          ENDDO
    1528 ! Ehouarn, march 2012: also add some initialisation for hice
    1529          hice(ig)=0.0
    1530       ENDDO
    15311232     
    1532 c========================================================
    1533 
    1534 !      DO ig=1,ngridmx
    1535 !         IF(tsurf(ig) .LT. 273.16-1.8) THEN
    1536 !            hice(ig)=(273.16-1.8-tsurf(ig))/(273.16-1.8-240)*1.
    1537 !            hice(ig)=min(hice(ig),1.0)
    1538 !         ENDIF
    1539 !      ENDDO
    1540 
    1541 
    1542 
    15431233
    15441234c=======================================================================
     
    16471337      call physdem1("restartfi.nc",nsoilmx,ngridmx,llm,nqtot,
    16481338     &                dtphys,real(day_ini),
    1649      &                tsurf,tsoil,emis,q2,qsurf,
    1650      &                cloudfrac,totalfrac,hice,
    1651      &                rnat,pctsrf_sic,tslab,tsea_ice,sea_ice)
     1339     &                tsurf,tsoil,emis,q2,qsurf)
    16521340
    16531341c=======================================================================
  • trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/start2archive.F

    r1644 r1647  
    2525!      use control_mod
    2626!      use comgeomphy, only: initcomgeomphy
    27       use slab_ice_h, only: noceanmx
    2827! to use  'getin'
    2928      USE ioipsl_getincom
     
    3130      USE mod_const_mpi, ONLY: COMM_LMDZ
    3231      USE control_mod, only: planet_type
    33       USE callkeys_mod, ONLY: ok_slab_ocean
    3432      use filtreg_mod, only: inifilr
    3533      USE comvert_mod, ONLY: ap,bp
     
    7270      REAL tsurf(ngridmx)        ! Surface temperature
    7371      REAL,ALLOCATABLE :: tsoil(:,:) ! Soil temperature
    74       REAL co2ice(ngridmx)        ! CO2 ice layer
    7572      REAL q2(ngridmx,llm+1)
    7673      REAL,ALLOCATABLE :: qsurf(:,:)
     
    8279      INTEGER*4 day_ini_fi
    8380
    84 !     added by FF for cloud fraction setup
    85       REAL hice(ngridmx)
    86       REAL cloudfrac(ngridmx,llm),totalcloudfrac(ngridmx)
    87 
    88 !     added by BC for slab ocean
    89       REAL rnat(ngridmx),pctsrf_sic(ngridmx),sea_ice(ngridmx)
    90       REAL tslab(ngridmx,noceanmx),tsea_ice(ngridmx)
    91 
    9281
    9382c Variable naturelle / grille scalaire
     
    9786      REAL,ALLOCATABLE :: tsoilS(:,:)
    9887      REAL,ALLOCATABLE :: ithS(:,:) ! Soil Thermal Inertia
    99       REAL co2iceS(ip1jmp1)
    10088      REAL q2S(ip1jmp1,llm+1)
    10189      REAL,ALLOCATABLE :: qsurfS(:,:)
    10290      REAL emisS(ip1jmp1)
    103 
    104 !     added by FF for cloud fraction setup
    105       REAL hiceS(ip1jmp1)
    106       REAL cloudfracS(ip1jmp1,llm),totalcloudfracS(ip1jmp1)
    107 
    108 !     added by BC for slab ocean
    109       REAL rnatS(ip1jmp1),pctsrf_sicS(ip1jmp1),sea_iceS(ip1jmp1)
    110       REAL tslabS(ip1jmp1,noceanmx),tsea_iceS(ip1jmp1)
    11191
    11292
     
    120100      INTEGER Lmodif
    121101
    122       REAL ptotal, co2icetotal
     102      REAL ptotal
    123103      REAL timedyn,timefi !fraction du jour dans start, startfi
    124104      REAL date
     
    236216      CALL phyetat0 (ngridmx,llm,fichnom,0,Lmodif,nsoilmx,nqtot,
    237217     .      day_ini_fi,timefi,
    238      .      tsurf,tsoil,emis,q2,qsurf,
    239 !       change FF 05/2011
    240      .       cloudfrac,totalcloudfrac,hice,
    241 !       change BC 05/2014
    242      .       rnat,pctsrf_sic,tslab,tsea_ice,sea_ice)
    243 
     218     .      tsurf,tsoil,emis,q2,qsurf)
    244219
    245220
     
    328303c
    329304c tsurf --> tsurfS
    330 c co2ice --> co2iceS
    331305c tsoil --> tsoilS
    332306c emis --> emisS
     
    337311
    338312      call gr_fi_dyn(1,ngridmx,iip1,jjp1,tsurf,tsurfS)
    339 !      call gr_fi_dyn(1,ngridmx,iip1,jjp1,co2ice,co2iceS)
    340313      call gr_fi_dyn(nsoilmx,ngridmx,iip1,jjp1,tsoil,tsoilS)
    341314      ! Note: thermal inertia "inertiedat" is in comsoil.h
     
    344317      call gr_fi_dyn(llm+1,ngridmx,iip1,jjp1,q2,q2S)
    345318      call gr_fi_dyn(nqtot,ngridmx,iip1,jjp1,qsurf,qsurfS)
    346       call gr_fi_dyn(llm,ngridmx,iip1,jjp1,cloudfrac,cloudfracS)
    347       call gr_fi_dyn(1,ngridmx,iip1,jjp1,hice,hiceS)
    348       call gr_fi_dyn(1,ngridmx,iip1,jjp1,totalcloudfrac,totalcloudfracS)
    349 
    350       call gr_fi_dyn(1,ngridmx,iip1,jjp1,rnat,rnatS)
    351       call gr_fi_dyn(1,ngridmx,iip1,jjp1,pctsrf_sic,pctsrf_sicS)
    352       call gr_fi_dyn(1,ngridmx,iip1,jjp1,tsea_ice,tsea_iceS)
    353       call gr_fi_dyn(1,ngridmx,iip1,jjp1,sea_ice,sea_iceS)
    354       call gr_fi_dyn(noceanmx,ngridmx,iip1,jjp1,tslab,tslabS)
    355319
    356320c=======================================================================
     
    359323
    360324      ptotal =  0.
    361       co2icetotal = 0.
    362325      DO j=1,jjp1
    363326         DO i=1,iim
    364327           ptotal=ptotal+aire(i+(iim+1)*(j-1))*ps(i+(iim+1)*(j-1))/g
    365 !           co2icetotal = co2icetotal +
    366 !     &            co2iceS(i+(iim+1)*(j-1))*aire(i+(iim+1)*(j-1))
    367328         ENDDO
    368329      ENDDO
    369330      write(*,*)'Ancienne grille : masse de l''atm :',ptotal
    370 !      write(*,*)'Ancienne grille : masse de la glace CO2 :',co2icetotal
    371 
    372 c-----------------------------------------------------------------------
    373 c Passage de "ptotal" et "co2icetotal" par tab_cntrl_fi
     331
     332c-----------------------------------------------------------------------
     333c Passage de "ptotal"  par tab_cntrl_fi
    374334c-----------------------------------------------------------------------
    375335
    376336      tab_cntrl_fi(49) = ptotal
    377       tab_cntrl_fi(50) = co2icetotal
     337      tab_cntrl_fi(50) = 0.
    378338
    379339c=======================================================================
     
    430390
    431391c-----------------------------------------------------------------------
    432 c Ecriture des champs  (co2ice,emis,ps,Tsurf,T,u,v,q2,q,qsurf)
     392c Ecriture des champs  (emis,ps,Tsurf,T,u,v,q2,q,qsurf)
    433393c-----------------------------------------------------------------------
    434394c ATTENTION: q2 a une couche de plus!!!!
     
    439399c-----------------------------------------------------------------------
    440400
    441 !      call write_archive(nid,ntime,'co2ice','couche de glace co2',
    442 !     &  'kg/m2',2,co2iceS)
    443401      call write_archive(nid,ntime,'emis','grd emis',' ',2,emisS)
    444402      call write_archive(nid,ntime,'ps','Psurf','Pa',2,ps)
     
    497455! Note: no need to write volcapa, it is stored in "controle" table
    498456
    499 c-----------------------------------------------------------------------
    500 c Ecriture du champs  cloudfrac,hice,totalcloudfrac
    501 c-----------------------------------------------------------------------
    502       call write_archive(nid,ntime,'hice',
    503      &         'Height of oceanic ice','m',2,hiceS)
    504       call write_archive(nid,ntime,'totalcloudfrac',
    505      &        'Total cloud Fraction','',2,totalcloudfracS)
    506       call write_archive(nid,ntime,'cloudfrac'
    507      &        ,'Cloud fraction','',3,cloudfracS)
    508 
    509 c-----------------------------------------------------------------------
    510 c Slab ocean
    511 c-----------------------------------------------------------------------
    512       OPEN(99,file='callphys.def',status='old',form='formatted'
    513      &     ,iostat=ierr)
    514       CLOSE(99)
    515 
    516       IF(ierr.EQ.0) THEN
    517 
    518 
    519          write(*,*) "Use slab-ocean ?"
    520          ok_slab_ocean=.false.         ! default value
    521          call getin("ok_slab_ocean",ok_slab_ocean)
    522          write(*,*) "ok_slab_ocean = ",ok_slab_ocean
    523 
    524       if(ok_slab_ocean) then
    525       call write_archive(nid,ntime,'rnat'
    526      &        ,'rnat','',2,rnatS)
    527       call write_archive(nid,ntime,'pctsrf_sic'
    528      &        ,'pctsrf_sic','',2,pctsrf_sicS)
    529       call write_archive(nid,ntime,'sea_ice'
    530      &        ,'sea_ice','',2,sea_iceS)
    531       call write_archive(nid,ntime,'tslab'
    532      &        ,'tslab','',-2,tslabS)
    533       call write_archive(nid,ntime,'tsea_ice'
    534      &        ,'tsea_ice','',2,tsea_iceS)
    535       endif !ok_slab_ocean
    536       ENDIF
    537 c-----------------------------------------------------------------------
     457
    538458c Fin
    539459c-----------------------------------------------------------------------
  • trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/write_archive.F

    r1478 r1647  
    3333
    3434      use comsoil_h, only: nsoilmx
    35       use slab_ice_h, only: noceanmx
    3635
    3736      implicit none
     
    195194        edges(1)=iip1
    196195        edges(2)=jjp1
    197         edges(3)=noceanmx
     196        edges(3)=1 ! JVO2017 : was noceanmx before -> set to 1
    198197        edges(4)=1
    199198#ifdef NC_DOUBLE
Note: See TracChangeset for help on using the changeset viewer.