Changeset 3761


Ignore:
Timestamp:
May 14, 2025, 5:14:10 PM (4 weeks ago)
Author:
afalco
Message:

Pluto: start2archive: do not write to file if existing start_archive.nc has different dimensions than start/startfi.nc/executable.
AF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.PLUTO/libf/dynphy_lonlat/phypluto/start2archive.F

    r3635 r3761  
    106106      REAL vn(ip1jm,llm),un(ip1jmp1,llm)
    107107
     108c Variables from pre-existing start_archive
     109c -----------------
     110      integer :: nsoilold, nlatold, nlonold, naltold
    108111c Autres  variables
    109112c -----------------
     
    439442      endif
    440443
     444      ierr=NF_INQ_DIMID(nid,"altitude",dimid)
     445      if (ierr.eq.NF_NOERR) then
     446        ierr=NF_INQ_DIMLEN(nid,dimid,naltold)
     447            if (ierr.ne.NF_NOERR) then
     448            call abort_gcm('start2archive: ',
     449     &              'Failed reading altitude length', 1)
     450        endif
     451        if (naltold.ne.llm) then
     452          print*,"start.nc:          n_levels:", llm
     453          print*, "start_archive.nc: n_levels:",naltold
     454          call abort_gcm('start2archive: ',
     455     &              'altitude dimension from start_archive.nc differ'//
     456     &              'from start/startfi.nc', 1)
     457        endif
     458      endif
     459
     460      ierr=NF_INQ_DIMID(nid,"longitude",dimid)
     461      if (ierr.eq.NF_NOERR) then
     462        ierr=NF_INQ_DIMLEN(nid,dimid,nlonold)
     463            if (ierr.ne.NF_NOERR) then
     464            call abort_gcm('start2archive: ',
     465     &              'Failed reading longitude length', 1)
     466        endif
     467        if (nlonold.ne.iim) then
     468          print*,"start.nc:          n_lon:", iim
     469          print*, "start_archive.nc: n_lon:",nlonold
     470          call abort_gcm('start2archive: ',
     471     &              'longitude dimension from start_archive.nc differ'//
     472     &              'from start/startfi.nc', 1)
     473        endif
     474      endif
     475
     476
     477      ierr=NF_INQ_DIMID(nid,"latitude",dimid)
     478      if (ierr.eq.NF_NOERR) then
     479        ierr=NF_INQ_DIMLEN(nid,dimid,nlatold)
     480            if (ierr.ne.NF_NOERR) then
     481            call abort_gcm('start2archive: ',
     482     &              'Failed reading latitude length', 1)
     483        endif
     484        if (nlatold.ne.jjm) then
     485          print*,"start.nc:          n_lat:", jjm
     486          print*, "start_archive.nc: n_lat:",nlatold
     487          call abort_gcm('start2archive: ',
     488     &              'latitude dimension from start_archive.nc differ'//
     489     &              'from start/startfi.nc', 1)
     490        endif
     491      endif
     492
     493      ierr=NF_INQ_DIMID(nid,"subsurface_layers",dimid)
     494      if (ierr.eq.NF_NOERR) then
     495        ierr=NF_INQ_DIMLEN(nid,dimid,nsoilold)
     496            if (ierr.ne.NF_NOERR) then
     497            call abort_gcm('start2archive: ',
     498     &              'Failed reading subsurface_layers length', 1)
     499        endif
     500        if (nsoilold.ne.nsoilmx) then
     501          print*,"start.nc:          n_levels:", nsoilmx
     502          print*, "start_archive.nc: n_levels:",nsoilold
     503          call abort_gcm('start2archive: ',
     504     &              'Soil dimension from start_archive.nc differ'//
     505     &              'from start/startfi.nc', 1)
     506        endif
     507      endif
     508
    441509c-----------------------------------------------------------------------
    442510c Ecriture des champs  (n2ice,emis,ps,Tsurf,T,u,v,q2,q,qsurf)
Note: See TracChangeset for help on using the changeset viewer.