Ignore:
Timestamp:
Jul 20, 2024, 4:30:31 PM (5 months ago)
Author:
abarral
Message:

Remove all managed netcdf77 usage (excluding external: rrtm, ecrad)
Remove call to netcdf.inc
Replace USE lmdz_netcdf by USE netcdf
Replace lmdz_netcdf.F90 by lmdz_netcdf_format.F90

Location:
LMDZ6/branches/Amaury_dev/libf/phylmdiso
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/limit_read_mod.F90

    r5087 r5088  
    274274    USE mod_phys_lmdz_para
    275275    USE surface_data, ONLY : type_ocean, ok_veget
    276     USE lmdz_netcdf, ONLY:nf90_noerr,nf90_close,nf90_get_var,nf90_inq_varid,nf90_nowrite,&
     276    USE netcdf, ONLY:nf90_noerr,nf90_close,nf90_get_var,nf90_inq_varid,nf90_nowrite,&
    277277            nf90_inq_dimid,nf90_inquire_dimension,nf90_open,nf90_get_att,nf90_inquire
    278278    USE indice_sol_mod
     
    367367          !--- ERROR IF FILE RECORDS NUMBER IS NOT EQUAL TO EXPECTED NUMBER OF DAYS         
    368368          IF (grid_type==unstructured) THEN
    369             ierr=NF90_INQ_DIMID(nid,"time_year",ndimid)
     369            ierr=nf90_inq_dimid(nid,"time_year",ndimid)
    370370          ELSE
    371371            ierr=NF90_INQUIRE(nid, UnlimitedDimID=ndimid)
     
    378378          !--- ERROR IF FILES AND LMDZ HORIZONTAL RESOLUTIONS DO NOT MATCH
    379379          IF (grid_type==unstructured) THEN
    380             ierr=NF90_INQ_DIMID(nid, 'cell', ndimid)
     380            ierr=nf90_inq_dimid(nid, 'cell', ndimid)
    381381          ELSE
    382             ierr=NF90_INQ_DIMID(nid, 'points_physiques', ndimid)
     382            ierr=nf90_inq_dimid(nid, 'points_physiques', ndimid)
    383383          ENDIF
    384384          ierr=NF90_INQUIRE_DIMENSION(nid, ndimid, len=nn)
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phyaqua_mod.F90

    r5076 r5088  
    591591    USE mod_phys_lmdz_transfert_para, ONLY: gather
    592592    USE phys_cal_mod, ONLY: year_len
    593     USE lmdz_netcdf, ONLY:nf_clobber,nf_close,nf_noerr,nf_strerror,nf_put_att_text,nf_def_var,&
    594             nf_def_dim,nf_create,nf90_put_var,nf_unlimited,nf_global,nf_64bit_offset,nf90_format,&
    595             nf_enddef
     593    USE netcdf, ONLY:nf90_clobber,nf90_close,nf90_noerr,nf90_strerror,nf90_put_att,nf90_def_var,&
     594            nf90_def_dim,nf90_create,nf90_put_var,nf90_unlimited,nf90_global,nf90_64bit_offset,&
     595            nf90_enddef
     596    USE lmdz_netcdf_format, ONLY: nf90_format
    596597    IMPLICIT NONE
    597598
     
    625626      PRINT *, 'writelim: Ecriture du fichier limit'
    626627
    627       ierr = nf_create('limit.nc', IOR(NF_CLOBBER,NF_64BIT_OFFSET), nid)
    628 
    629       ierr = nf_put_att_text(nid, nf_global, 'title', 30, &
     628      ierr = nf90_create('limit.nc', IOR(nf90_clobber,nf90_64bit_offset), nid)
     629
     630      ierr = nf90_put_att(nid, nf90_global, 'title', &
    630631        'Fichier conditions aux limites')
    631       ! !        ierr = NF_DEF_DIM (nid, "points_physiques", klon, ndim)
    632       ierr = nf_def_dim(nid, 'points_physiques', klon_glo, ndim)
    633       ierr = nf_def_dim(nid, 'time', nf_unlimited, ntim)
     632      ! !        ierr = nf90_def_dim (nid, "points_physiques", klon, ndim)
     633      ierr = nf90_def_dim(nid, 'points_physiques', klon_glo, ndim)
     634      ierr = nf90_def_dim(nid, 'time', nf90_unlimited, ntim)
    634635
    635636      dims(1) = ndim
    636637      dims(2) = ntim
    637638
    638       ierr = nf_def_var(nid, 'TEMPS', NF90_FORMAT, 1, ntim, id_tim)
    639       ierr = nf_put_att_text(nid, id_tim, 'title', 17, 'Jour dans l annee')
    640 
    641       ierr = nf_def_var(nid, 'NAT', NF90_FORMAT, 2, dims, id_nat)
    642       ierr = nf_put_att_text(nid, id_nat, 'title', 23, &
     639      ierr = nf90_def_var(nid, 'TEMPS', nf90_format, ntim, id_tim)
     640      ierr = nf90_put_att(nid, id_tim, 'title', 'Jour dans l annee')
     641
     642      ierr = nf90_def_var(nid, 'NAT', nf90_format, dims, id_nat)
     643      ierr = nf90_put_att(nid, id_nat, 'title', &
    643644        'Nature du sol (0,1,2,3)')
    644645
    645       ierr = nf_def_var(nid, 'SST', NF90_FORMAT, 2, dims, id_sst)
    646       ierr = nf_put_att_text(nid, id_sst, 'title', 35, &
     646      ierr = nf90_def_var(nid, 'SST', nf90_format, dims, id_sst)
     647      ierr = nf90_put_att(nid, id_sst, 'title', &
    647648        'Temperature superficielle de la mer')
    648649
    649       ierr = nf_def_var(nid, 'BILS', NF90_FORMAT, 2, dims, id_bils)
    650       ierr = nf_put_att_text(nid, id_bils, 'title', 32, &
     650      ierr = nf90_def_var(nid, 'BILS', nf90_format, dims, id_bils)
     651      ierr = nf90_put_att(nid, id_bils, 'title', &
    651652        'Reference flux de chaleur au sol')
    652653
    653       ierr = nf_def_var(nid, 'ALB', NF90_FORMAT, 2, dims, id_alb)
    654       ierr = nf_put_att_text(nid, id_alb, 'title', 19, 'Albedo a la surface')
    655 
    656       ierr = nf_def_var(nid, 'RUG', NF90_FORMAT, 2, dims, id_rug)
    657       ierr = nf_put_att_text(nid, id_rug, 'title', 8, 'Rugosite')
    658 
    659       ierr = nf_def_var(nid, 'FTER', NF90_FORMAT, 2, dims, id_fter)
    660       ierr = nf_put_att_text(nid, id_fter, 'title',10,'Frac. Land')
    661       ierr = nf_def_var(nid, 'FOCE', NF90_FORMAT, 2, dims, id_foce)
    662       ierr = nf_put_att_text(nid, id_foce, 'title',11,'Frac. Ocean')
    663       ierr = nf_def_var(nid, 'FSIC', NF90_FORMAT, 2, dims, id_fsic)
    664       ierr = nf_put_att_text(nid, id_fsic, 'title',13,'Frac. Sea Ice')
    665       ierr = nf_def_var(nid, 'FLIC', NF90_FORMAT, 2, dims, id_flic)
    666       ierr = nf_put_att_text(nid, id_flic, 'title',14,'Frac. Land Ice')
    667 
    668       ierr = nf_enddef(nid)
    669       IF (ierr/=nf_noerr) THEN
     654      ierr = nf90_def_var(nid, 'ALB', nf90_format, dims, id_alb)
     655      ierr = nf90_put_att(nid, id_alb, 'title', 'Albedo a la surface')
     656
     657      ierr = nf90_def_var(nid, 'RUG', nf90_format, dims, id_rug)
     658      ierr = nf90_put_att(nid, id_rug, 'title', 'Rugosite')
     659
     660      ierr = nf90_def_var(nid, 'FTER', nf90_format, dims, id_fter)
     661      ierr = nf90_put_att(nid, id_fter, 'title','Frac. Land')
     662      ierr = nf90_def_var(nid, 'FOCE', nf90_format, dims, id_foce)
     663      ierr = nf90_put_att(nid, id_foce, 'title','Frac. Ocean')
     664      ierr = nf90_def_var(nid, 'FSIC', nf90_format, dims, id_fsic)
     665      ierr = nf90_put_att(nid, id_fsic, 'title','Frac. Sea Ice')
     666      ierr = nf90_def_var(nid, 'FLIC', nf90_format, dims, id_flic)
     667      ierr = nf90_put_att(nid, id_flic, 'title','Frac. Land Ice')
     668
     669      ierr = nf90_enddef(nid)
     670      IF (ierr/=nf90_noerr) THEN
    670671        WRITE (*, *) 'writelim error: failed to end define mode'
    671         WRITE (*, *) nf_strerror(ierr)
     672        WRITE (*, *) nf90_strerror(ierr)
    672673      END IF
    673674
     
    676677      DO k = 1, year_len
    677678        ierr = nf90_put_var(nid, id_tim, k, [k])
    678         IF (ierr/=nf_noerr) THEN
     679        IF (ierr/=nf90_noerr) THEN
    679680          WRITE (*, *) 'writelim error with temps(k),k=', k
    680           WRITE (*, *) nf_strerror(ierr)
     681          WRITE (*, *) nf90_strerror(ierr)
    681682        END IF
    682683      END DO
     
    689690    IF (is_master) THEN
    690691      ierr = nf90_put_var(nid, id_nat, phy_glo)
    691       IF (ierr/=nf_noerr) THEN
     692      IF (ierr/=nf90_noerr) THEN
    692693        WRITE (*, *) 'writelim error with phy_nat'
    693         WRITE (*, *) nf_strerror(ierr)
     694        WRITE (*, *) nf90_strerror(ierr)
    694695      END IF
    695696    END IF
     
    698699    IF (is_master) THEN
    699700      ierr = nf90_put_var(nid, id_sst, phy_glo)
    700       IF (ierr/=nf_noerr) THEN
     701      IF (ierr/=nf90_noerr) THEN
    701702        WRITE (*, *) 'writelim error with phy_sst'
    702         WRITE (*, *) nf_strerror(ierr)
     703        WRITE (*, *) nf90_strerror(ierr)
    703704      END IF
    704705    END IF
     
    707708    IF (is_master) THEN
    708709      ierr = nf90_put_var(nid, id_bils, phy_glo)
    709       IF (ierr/=nf_noerr) THEN
     710      IF (ierr/=nf90_noerr) THEN
    710711        WRITE (*, *) 'writelim error with phy_bil'
    711         WRITE (*, *) nf_strerror(ierr)
     712        WRITE (*, *) nf90_strerror(ierr)
    712713      END IF
    713714    END IF
     
    716717    IF (is_master) THEN
    717718      ierr = nf90_put_var(nid, id_alb, phy_glo)
    718       IF (ierr/=nf_noerr) THEN
     719      IF (ierr/=nf90_noerr) THEN
    719720        WRITE (*, *) 'writelim error with phy_alb'
    720         WRITE (*, *) nf_strerror(ierr)
     721        WRITE (*, *) nf90_strerror(ierr)
    721722      END IF
    722723    END IF
     
    725726    IF (is_master) THEN
    726727      ierr = nf90_put_var(nid, id_rug, phy_glo)
    727       IF (ierr/=nf_noerr) THEN
     728      IF (ierr/=nf90_noerr) THEN
    728729        WRITE (*, *) 'writelim error with phy_rug'
    729         WRITE (*, *) nf_strerror(ierr)
     730        WRITE (*, *) nf90_strerror(ierr)
    730731      END IF
    731732    END IF
     
    734735    IF (is_master) THEN
    735736      ierr = nf90_put_var(nid, id_fter, phy_glo)
    736       IF (ierr/=nf_noerr) THEN
     737      IF (ierr/=nf90_noerr) THEN
    737738        WRITE (*, *) 'writelim error with phy_fter'
    738         WRITE (*, *) nf_strerror(ierr)
     739        WRITE (*, *) nf90_strerror(ierr)
    739740      END IF
    740741    END IF
     
    743744    IF (is_master) THEN
    744745      ierr = nf90_put_var(nid, id_foce, phy_glo)
    745       IF (ierr/=nf_noerr) THEN
     746      IF (ierr/=nf90_noerr) THEN
    746747        WRITE (*, *) 'writelim error with phy_foce'
    747         WRITE (*, *) nf_strerror(ierr)
     748        WRITE (*, *) nf90_strerror(ierr)
    748749      END IF
    749750    END IF
     
    752753    IF (is_master) THEN
    753754      ierr = nf90_put_var(nid, id_fsic, phy_glo)
    754       IF (ierr/=nf_noerr) THEN
     755      IF (ierr/=nf90_noerr) THEN
    755756        WRITE (*, *) 'writelim error with phy_fsic'
    756         WRITE (*, *) nf_strerror(ierr)
     757        WRITE (*, *) nf90_strerror(ierr)
    757758      END IF
    758759    END IF
     
    761762    IF (is_master) THEN
    762763      ierr = nf90_put_var(nid, id_flic, phy_glo)
    763       IF (ierr/=nf_noerr) THEN
     764      IF (ierr/=nf90_noerr) THEN
    764765        WRITE (*, *) 'writelim error with phy_flic'
    765         WRITE (*, *) nf_strerror(ierr)
     766        WRITE (*, *) nf90_strerror(ierr)
    766767      END IF
    767768    END IF
     
    769770    ! close file:
    770771    IF (is_master) THEN
    771       ierr = nf_close(nid)
     772      ierr = nf90_close(nid)
    772773    END IF
    773774
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phyetat0_mod.F90

    r5087 r5088  
    4848  USE time_phylmdz_mod, ONLY: init_iteration, pdtphys, itau_phy
    4949  USE wxios, ONLY: missing_val_xios => missing_val, using_xios
    50   use lmdz_netcdf, only: missing_val_netcdf => nf90_fill_real
     50  use netcdf, only: missing_val_netcdf => nf90_fill_real
    5151  use config_ocean_skin_m, only: activate_ocean_skin
    5252#ifdef ISO
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/physiq_mod.F90

    r5087 r5088  
    4848    USE mod_phys_lmdz_para
    4949    USE netcdf95, only: nf95_close
    50     USE lmdz_netcdf, only: nf90_fill_real     ! IM for NMC files
     50    USE netcdf, only: nf90_fill_real     ! IM for NMC files
    5151    USE open_climoz_m, only: open_climoz ! ozone climatology from a file
    5252    USE ozonecm_m, only: ozonecm ! ozone of J.-F. Royer
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/reevap.F90

    r5087 r5088  
    33
    44    ! flag to include modifications to ensure energy conservation (if flag >0)
    5     USE add_phys_tend_mod, only : fl_cor_ebil 
     5    USE add_phys_tend_mod, only : fl_cor_ebil
    66#ifdef ISO
    77    USE infotrac_phy, ONLY: ntiso,nqtot,ivap,iliq,isol,iqWIsoPha
     
    1111    USE isotopes_mod, ONLY: iso_eau,iso_hdo,iso_o18,ridicule
    1212#ifdef ISOTRAC
    13     USE isotrac_routines_mod, ONLY: iso_verif_traceur_pbidouille   
     13    USE isotrac_routines_mod, ONLY: iso_verif_traceur_pbidouille
    1414#endif
    15 #endif 
     15#endif
    1616#endif
    1717    IMPLICIT none
     
    2525
    2626    REAL za,zb,zdelta,zlvdcp,zlsdcp
    27     INTEGER i,k,ixt,ivapcur,iliqcur,isolcur   
     27    INTEGER i,k,ixt,ivapcur,iliqcur,isolcur
    2828
    2929
    3030    !--------Stochastic Boundary Layer Triggering: ALE_BL--------
    31     !---Propri\'et\'es du thermiques au LCL 
     31    !---Propri\'et\'es du thermiques au LCL
    3232    include "YOMCST.h"
    3333    include "YOETHF.h"
     
    3838    ! Re-evaporer l'eau liquide nuageuse
    3939    !
    40     iliqcur= iqWIsoPha(ixt,iliq)   
    41     ivapcur= iqWIsoPha(ixt,ivap)   
    42     isolcur= iqWIsoPha(ixt,isol)   
     40    iliqcur= iqWIsoPha(ixt,iliq)
     41    ivapcur= iqWIsoPha(ixt,ivap)
     42    isolcur= iqWIsoPha(ixt,isol)
    4343!print *,'rrevap ; fl_cor_ebil:',fl_cor_ebil,' iflag_ice_thermo:',iflag_ice_thermo,' RVTMP2',RVTMP2
    4444    DO k = 1, klev  ! re-evaporation de l'eau liquide nuageuse
     
    6868             !        za = - MAX(0.0,ql_seri(i,k)) &
    6969             !             * (zlvdcp*(1.-zdelta)+zlsdcp*zdelta)
    70              za = - MAX(0.0,qx(i,k,iliqcur))*zlvdcp & 
     70             za = - MAX(0.0,qx(i,k,iliqcur))*zlvdcp &
    7171                  - MAX(0.0,qx(i,k,iliqcur))*zlsdcp
    7272             d_t_eva(i,k) = za
     
    8989
    9090    enddo ! do ixt=1,1+niso*(nzone +1)
    91    
     91
    9292
    9393RETURN
Note: See TracChangeset for help on using the changeset viewer.