Changeset 5088 for LMDZ6/branches/Amaury_dev/libf/phylmdiso
- Timestamp:
- Jul 20, 2024, 4:30:31 PM (5 months ago)
- 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 274 274 USE mod_phys_lmdz_para 275 275 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,& 277 277 nf90_inq_dimid,nf90_inquire_dimension,nf90_open,nf90_get_att,nf90_inquire 278 278 USE indice_sol_mod … … 367 367 !--- ERROR IF FILE RECORDS NUMBER IS NOT EQUAL TO EXPECTED NUMBER OF DAYS 368 368 IF (grid_type==unstructured) THEN 369 ierr= NF90_INQ_DIMID(nid,"time_year",ndimid)369 ierr=nf90_inq_dimid(nid,"time_year",ndimid) 370 370 ELSE 371 371 ierr=NF90_INQUIRE(nid, UnlimitedDimID=ndimid) … … 378 378 !--- ERROR IF FILES AND LMDZ HORIZONTAL RESOLUTIONS DO NOT MATCH 379 379 IF (grid_type==unstructured) THEN 380 ierr= NF90_INQ_DIMID(nid, 'cell', ndimid)380 ierr=nf90_inq_dimid(nid, 'cell', ndimid) 381 381 ELSE 382 ierr= NF90_INQ_DIMID(nid, 'points_physiques', ndimid)382 ierr=nf90_inq_dimid(nid, 'points_physiques', ndimid) 383 383 ENDIF 384 384 ierr=NF90_INQUIRE_DIMENSION(nid, ndimid, len=nn) -
LMDZ6/branches/Amaury_dev/libf/phylmdiso/phyaqua_mod.F90
r5076 r5088 591 591 USE mod_phys_lmdz_transfert_para, ONLY: gather 592 592 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 596 597 IMPLICIT NONE 597 598 … … 625 626 PRINT *, 'writelim: Ecriture du fichier limit' 626 627 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', & 630 631 '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) 634 635 635 636 dims(1) = ndim 636 637 dims(2) = ntim 637 638 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', & 643 644 'Nature du sol (0,1,2,3)') 644 645 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', & 647 648 'Temperature superficielle de la mer') 648 649 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', & 651 652 'Reference flux de chaleur au sol') 652 653 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) THEN654 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 670 671 WRITE (*, *) 'writelim error: failed to end define mode' 671 WRITE (*, *) nf _strerror(ierr)672 WRITE (*, *) nf90_strerror(ierr) 672 673 END IF 673 674 … … 676 677 DO k = 1, year_len 677 678 ierr = nf90_put_var(nid, id_tim, k, [k]) 678 IF (ierr/=nf _noerr) THEN679 IF (ierr/=nf90_noerr) THEN 679 680 WRITE (*, *) 'writelim error with temps(k),k=', k 680 WRITE (*, *) nf _strerror(ierr)681 WRITE (*, *) nf90_strerror(ierr) 681 682 END IF 682 683 END DO … … 689 690 IF (is_master) THEN 690 691 ierr = nf90_put_var(nid, id_nat, phy_glo) 691 IF (ierr/=nf _noerr) THEN692 IF (ierr/=nf90_noerr) THEN 692 693 WRITE (*, *) 'writelim error with phy_nat' 693 WRITE (*, *) nf _strerror(ierr)694 WRITE (*, *) nf90_strerror(ierr) 694 695 END IF 695 696 END IF … … 698 699 IF (is_master) THEN 699 700 ierr = nf90_put_var(nid, id_sst, phy_glo) 700 IF (ierr/=nf _noerr) THEN701 IF (ierr/=nf90_noerr) THEN 701 702 WRITE (*, *) 'writelim error with phy_sst' 702 WRITE (*, *) nf _strerror(ierr)703 WRITE (*, *) nf90_strerror(ierr) 703 704 END IF 704 705 END IF … … 707 708 IF (is_master) THEN 708 709 ierr = nf90_put_var(nid, id_bils, phy_glo) 709 IF (ierr/=nf _noerr) THEN710 IF (ierr/=nf90_noerr) THEN 710 711 WRITE (*, *) 'writelim error with phy_bil' 711 WRITE (*, *) nf _strerror(ierr)712 WRITE (*, *) nf90_strerror(ierr) 712 713 END IF 713 714 END IF … … 716 717 IF (is_master) THEN 717 718 ierr = nf90_put_var(nid, id_alb, phy_glo) 718 IF (ierr/=nf _noerr) THEN719 IF (ierr/=nf90_noerr) THEN 719 720 WRITE (*, *) 'writelim error with phy_alb' 720 WRITE (*, *) nf _strerror(ierr)721 WRITE (*, *) nf90_strerror(ierr) 721 722 END IF 722 723 END IF … … 725 726 IF (is_master) THEN 726 727 ierr = nf90_put_var(nid, id_rug, phy_glo) 727 IF (ierr/=nf _noerr) THEN728 IF (ierr/=nf90_noerr) THEN 728 729 WRITE (*, *) 'writelim error with phy_rug' 729 WRITE (*, *) nf _strerror(ierr)730 WRITE (*, *) nf90_strerror(ierr) 730 731 END IF 731 732 END IF … … 734 735 IF (is_master) THEN 735 736 ierr = nf90_put_var(nid, id_fter, phy_glo) 736 IF (ierr/=nf _noerr) THEN737 IF (ierr/=nf90_noerr) THEN 737 738 WRITE (*, *) 'writelim error with phy_fter' 738 WRITE (*, *) nf _strerror(ierr)739 WRITE (*, *) nf90_strerror(ierr) 739 740 END IF 740 741 END IF … … 743 744 IF (is_master) THEN 744 745 ierr = nf90_put_var(nid, id_foce, phy_glo) 745 IF (ierr/=nf _noerr) THEN746 IF (ierr/=nf90_noerr) THEN 746 747 WRITE (*, *) 'writelim error with phy_foce' 747 WRITE (*, *) nf _strerror(ierr)748 WRITE (*, *) nf90_strerror(ierr) 748 749 END IF 749 750 END IF … … 752 753 IF (is_master) THEN 753 754 ierr = nf90_put_var(nid, id_fsic, phy_glo) 754 IF (ierr/=nf _noerr) THEN755 IF (ierr/=nf90_noerr) THEN 755 756 WRITE (*, *) 'writelim error with phy_fsic' 756 WRITE (*, *) nf _strerror(ierr)757 WRITE (*, *) nf90_strerror(ierr) 757 758 END IF 758 759 END IF … … 761 762 IF (is_master) THEN 762 763 ierr = nf90_put_var(nid, id_flic, phy_glo) 763 IF (ierr/=nf _noerr) THEN764 IF (ierr/=nf90_noerr) THEN 764 765 WRITE (*, *) 'writelim error with phy_flic' 765 WRITE (*, *) nf _strerror(ierr)766 WRITE (*, *) nf90_strerror(ierr) 766 767 END IF 767 768 END IF … … 769 770 ! close file: 770 771 IF (is_master) THEN 771 ierr = nf _close(nid)772 ierr = nf90_close(nid) 772 773 END IF 773 774 -
LMDZ6/branches/Amaury_dev/libf/phylmdiso/phyetat0_mod.F90
r5087 r5088 48 48 USE time_phylmdz_mod, ONLY: init_iteration, pdtphys, itau_phy 49 49 USE wxios, ONLY: missing_val_xios => missing_val, using_xios 50 use lmdz_netcdf, only: missing_val_netcdf => nf90_fill_real50 use netcdf, only: missing_val_netcdf => nf90_fill_real 51 51 use config_ocean_skin_m, only: activate_ocean_skin 52 52 #ifdef ISO -
LMDZ6/branches/Amaury_dev/libf/phylmdiso/physiq_mod.F90
r5087 r5088 48 48 USE mod_phys_lmdz_para 49 49 USE netcdf95, only: nf95_close 50 USE lmdz_netcdf, only: nf90_fill_real ! IM for NMC files50 USE netcdf, only: nf90_fill_real ! IM for NMC files 51 51 USE open_climoz_m, only: open_climoz ! ozone climatology from a file 52 52 USE ozonecm_m, only: ozonecm ! ozone of J.-F. Royer -
LMDZ6/branches/Amaury_dev/libf/phylmdiso/reevap.F90
r5087 r5088 3 3 4 4 ! 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 6 6 #ifdef ISO 7 7 USE infotrac_phy, ONLY: ntiso,nqtot,ivap,iliq,isol,iqWIsoPha … … 11 11 USE isotopes_mod, ONLY: iso_eau,iso_hdo,iso_o18,ridicule 12 12 #ifdef ISOTRAC 13 USE isotrac_routines_mod, ONLY: iso_verif_traceur_pbidouille 13 USE isotrac_routines_mod, ONLY: iso_verif_traceur_pbidouille 14 14 #endif 15 #endif 15 #endif 16 16 #endif 17 17 IMPLICIT none … … 25 25 26 26 REAL za,zb,zdelta,zlvdcp,zlsdcp 27 INTEGER i,k,ixt,ivapcur,iliqcur,isolcur 27 INTEGER i,k,ixt,ivapcur,iliqcur,isolcur 28 28 29 29 30 30 !--------Stochastic Boundary Layer Triggering: ALE_BL-------- 31 !---Propri\'et\'es du thermiques au LCL 31 !---Propri\'et\'es du thermiques au LCL 32 32 include "YOMCST.h" 33 33 include "YOETHF.h" … … 38 38 ! Re-evaporer l'eau liquide nuageuse 39 39 ! 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) 43 43 !print *,'rrevap ; fl_cor_ebil:',fl_cor_ebil,' iflag_ice_thermo:',iflag_ice_thermo,' RVTMP2',RVTMP2 44 44 DO k = 1, klev ! re-evaporation de l'eau liquide nuageuse … … 68 68 ! za = - MAX(0.0,ql_seri(i,k)) & 69 69 ! * (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 & 71 71 - MAX(0.0,qx(i,k,iliqcur))*zlsdcp 72 72 d_t_eva(i,k) = za … … 89 89 90 90 enddo ! do ixt=1,1+niso*(nzone +1) 91 91 92 92 93 93 RETURN
Note: See TracChangeset
for help on using the changeset viewer.