Changeset 1871 for trunk/LMDZ.TITAN/libf/phytitan
- Timestamp:
- Dec 20, 2017, 12:23:42 PM (8 years ago)
- Location:
- trunk/LMDZ.TITAN/libf/phytitan
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.TITAN/libf/phytitan/iostart.F90
r1815 r1871 15 15 INTEGER,SAVE :: idim6 ! "nlayer" dimension 16 16 INTEGER,SAVE :: idim7 ! "Time" dimension 17 INTEGER,SAVE :: idim8 ! "upper_chemistry_layers" dimension 17 18 INTEGER,SAVE :: timeindex ! current time index (for time-dependent fields) 18 !$OMP THREADPRIVATE(idim1,idim2,idim3,idim4,idim5,idim6,idim7, timeindex)19 !$OMP THREADPRIVATE(idim1,idim2,idim3,idim4,idim5,idim6,idim7,idim8,idim9,timeindex) 19 20 INTEGER,PARAMETER :: length=100 ! size of tab_cntrl array 20 21 … … 468 469 USE tracer_h, only: nqtot_p 469 470 USE comsoil_h, only: nsoilmx 471 USE comchem_h, only: nlaykim_up 470 472 471 473 IMPLICIT NONE … … 556 558 ENDIF 557 559 560 ierr=NF90_DEF_DIM(nid_restart,"upper_chemistry_layers",nlaykim_up,idim8) 561 IF (ierr/=NF90_NOERR) THEN 562 write(*,*)'open_restartphy: problem defining upper_chemistry_layers dimension ' 563 write(*,*)trim(nf90_strerror(ierr)) 564 CALL ABORT 565 ENDIF 566 558 567 ierr=NF90_ENDDEF(nid_restart) 559 568 IF (ierr/=NF90_NOERR) THEN … … 634 643 USE dimphy 635 644 USE comsoil_h, only: nsoilmx 645 USE comchem_h, only: nlaykim_up 636 646 USE mod_grid_phy_lmdz 637 647 USE mod_phys_lmdz_para … … 807 817 ierr=NF90_DEF_VAR(nid_restart,field_name,NF90_FLOAT,& 808 818 (/idim2,idim3,idim7/),nvarid) 819 #endif 820 if (ierr.ne.NF90_NOERR) then 821 write(*,*)"put_field_rgen error: failed to define "//trim(field_name) 822 write(*,*)trim(nf90_strerror(ierr)) 823 endif 824 IF (LEN_TRIM(title) > 0) ierr=NF90_PUT_ATT(nid_restart,nvarid,"title",title) 825 ierr=NF90_ENDDEF(nid_restart) 826 endif 827 ! Write the variable 828 ierr=NF90_PUT_VAR(nid_restart,nvarid,field_glo,& 829 start=(/1,1,timeindex/)) 830 831 endif ! of if (.not.present(time)) 832 833 ELSE IF (field_size==nlaykim_up) THEN 834 ! input is a 2D "upper chemistry" array 835 if (.not.present(time)) then ! for a time-independent field 836 ierr = NF90_REDEF(nid_restart) 837 #ifdef NC_DOUBLE 838 ierr=NF90_DEF_VAR(nid_restart,field_name,NF90_DOUBLE,& 839 (/idim2,idim8/),nvarid) 840 #else 841 ierr=NF90_DEF_VAR(nid_restart,field_name,NF90_FLOAT,& 842 (/idim2,idim8/),nvarid) 843 #endif 844 if (ierr.ne.NF90_NOERR) then 845 write(*,*)"put_field_rgen error: failed to define "//trim(field_name) 846 write(*,*)trim(nf90_strerror(ierr)) 847 endif 848 IF (LEN_TRIM(title) > 0) ierr=NF90_PUT_ATT(nid_restart,nvarid,"title",title) 849 ierr = NF90_ENDDEF(nid_restart) 850 ierr = NF90_PUT_VAR(nid_restart,nvarid,field_glo) 851 else 852 ! check if the variable has already been defined: 853 ierr=NF90_INQ_VARID(nid_restart,field_name,nvarid) 854 if (ierr/=NF90_NOERR) then ! variable not found, define it 855 ierr=NF90_REDEF(nid_restart) 856 #ifdef NC_DOUBLE 857 ierr=NF90_DEF_VAR(nid_restart,field_name,NF90_DOUBLE,& 858 (/idim2,idim8,idim7/),nvarid) 859 #else 860 ierr=NF90_DEF_VAR(nid_restart,field_name,NF90_FLOAT,& 861 (/idim2,idim8,idim7/),nvarid) 809 862 #endif 810 863 if (ierr.ne.NF90_NOERR) then -
trunk/LMDZ.TITAN/libf/phytitan/tabfi_mod.F90
r1670 r1871 55 55 emissiv 56 56 use comsoil_h, only: volcapa 57 use comchem_h, only: nlaykim_up 57 58 use iostart, only: get_var 58 59 use mod_phys_lmdz_para, only: is_parallel … … 149 150 dtemisice(:)=0 !time scale for snow metamorphism 150 151 volcapa=1000000 ! volumetric heat capacity of subsurface 151 152 ! chemistry 153 nlaykim_up=70 ! size of vertical grid for upper chemistry 154 152 155 ELSE 153 156 !----------------------------------------------------------------------- … … 204 207 ! soil properties 205 208 volcapa = tab_cntrl(tab0+35) ! volumetric heat capacity 209 ! chemistry 210 nlaykim_up = nint(tab_cntrl(tab0+40)) ! size of vertical grid for upper chemistry 206 211 !----------------------------------------------------------------------- 207 212 ! Save some constants for later use (as routine arguments) … … 256 261 257 262 write(*,5) '(35) volcapa',tab_cntrl(tab0+35),volcapa 263 264 write(*,5) '(40) nlaykim_up',tab_cntrl(tab0+40),float(nlaykim_up) 258 265 259 266 write(*,*) … … 564 571 565 572 write(*,5) '(35) volcapa',tab_cntrl(tab0+35),volcapa 573 574 write(*,5) '(40) nlaykim_up',tab_cntrl(tab0+40),float(nlaykim_up) 566 575 567 576 write(*,*)
Note: See TracChangeset
for help on using the changeset viewer.