Ignore:
Timestamp:
01/27/17 15:49:46 (7 years ago)
Author:
dubos
Message:

Updated devel to r517

Location:
codes/icosagcm/devel/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/etat0.f90

    r499 r528  
    1414   
    1515  SUBROUTINE init_etat0 
    16   USE etat0_database_mod, init_etat0_database => init_etat0  
    17   USE etat0_start_file_mod, init_etat0_start_file => init_etat0  
     16  USE etat0_database_mod, ONLY: init_etat0_database => init_etat0  
     17  USE etat0_start_file_mod, ONLY: init_etat0_start_file => init_etat0  
    1818  IMPLICIT NONE 
    1919 
  • codes/icosagcm/devel/src/etat0_database.f90

    r486 r528  
    130130    DO ind=1,ndomain 
    131131      IF (.NOT. assigned_domain(ind)) CYCLE 
    132       f_q(ind)%rval4d(:,:,:)=0 
     132      f_q(ind)%rval4d(:,:,:)=1e-6 
    133133      f_q(ind)%rval4d(:,:,1)=f_q1(ind)%rval3d(:,:)*f_qsat(ind)%rval3d(:,:)*0.01 
    134134      WHERE(f_q(ind)%rval4d(:,:,1)<0) f_q(ind)%rval4d(:,:,1)=0 
  • codes/icosagcm/devel/src/etat0_start_file.f90

    r496 r528  
    99  USE xios_mod 
    1010  USE omp_para 
     11  USE time_mod 
     12  USE restart_mod 
    1113  IMPLICIT NONE 
    1214     
    1315    IF (is_omp_master) THEN 
    14       IF (using_xios) CALL xios_set_file_attr("start", enabled=.TRUE.) 
     16      IF (using_xios) THEN 
     17        CALL xios_set_file_attr("start", enabled=.TRUE., mode="read", output_freq=(itaumax+1)*xios_timestep) 
     18      ENDIF 
    1519    ENDIF 
     20    write_start=.FALSE. 
    1621     
    1722  END SUBROUTINE init_etat0  
  • codes/icosagcm/devel/src/restart.f90

    r505 r528  
    66  END TYPE t_field_array 
    77 
    8  
     8  LOGICAL,SAVE :: write_start=.TRUE. 
    99 
    1010CONTAINS 
     
    2525      CALL getin("restart_file_name",restart_file_name) 
    2626      IF (is_omp_master) THEN 
    27         CALL xios_set_file_attr("start",name=TRIM(ADJUSTL(start_file_name)),output_freq=(itaumax+1)*xios_timestep) 
     27!        CALL xios_set_file_attr("start",name=TRIM(ADJUSTL(start_file_name)),output_freq=(itaumax+1)*xios_timestep) 
     28        CALL xios_set_file_attr("start",name=TRIM(ADJUSTL(start_file_name)),output_freq=1*xios_timestep) 
    2829        CALL xios_set_file_attr("restart",name=TRIM(ADJUSTL(restart_file_name)),output_freq=itaumax*xios_timestep) 
    2930        CALL xios_set_fieldgroup_attr("group_restart", freq_op=itaumax*xios_timestep) 
    30 !        CALL xios_set_axis_attr("lev_read", n_glo=llm) 
    3131      ENDIF 
    3232    ENDIF 
     
    6363  TYPE(t_field),POINTER :: field(:) 
    6464   
    65   CHARACTER(LEN=255) :: restart_file_name 
     65  CHARACTER(LEN=255) :: file_name 
     66  CHARACTER(LEN=255) :: suffix 
    6667  INTEGER,PARAMETER  :: nvert=6 
    6768  INTEGER    ::  ncid, cellId, levId, edgeId,  vertid, lonId, latId, bounds_lonId, bounds_latId, nqId, levAxisId 
     
    7273    IF (no_io) RETURN 
    7374     
    74     restart_file_name="restart" 
    75     CALL getin("restart_file_name",restart_file_name) 
    76  
     75    IF (it==0) THEN 
     76      file_name="start" 
     77      CALL getin("start_file_name",file_name) 
     78      suffix="_start" 
     79    ELSE 
     80      file_name="restart" 
     81      CALL getin("restart_file_name",file_name) 
     82      suffix="_restart" 
     83    ENDIF   
     84      
    7785    IF (using_xios) THEN 
    78       IF (PRESENT(field0))  THEN ; CALL  xios_write_field(TRIM(field0(1)%name)//'_restart',field0)  ; ENDIF 
    79       IF (PRESENT(field1))  THEN ; CALL  xios_write_field(TRIM(field1(1)%name)//'_restart',field1)  ; ENDIF 
    80       IF (PRESENT(field2))  THEN ; CALL  xios_write_field(TRIM(field2(1)%name)//'_restart',field2)  ; ENDIF 
    81       IF (PRESENT(field3))  THEN ; CALL  xios_write_field(TRIM(field3(1)%name)//'_restart',field3)  ; ENDIF 
    82       IF (PRESENT(field4))  THEN ; CALL  xios_write_field(TRIM(field4(1)%name)//'_restart',field4)  ; ENDIF 
    83       IF (PRESENT(field5))  THEN ; CALL  xios_write_field(TRIM(field5(1)%name)//'_restart',field5)  ; ENDIF 
    84       IF (PRESENT(field6))  THEN ; CALL  xios_write_field(TRIM(field6(1)%name)//'_restart',field6)  ; ENDIF 
    85       IF (PRESENT(field7))  THEN ; CALL  xios_write_field(TRIM(field7(1)%name)//'_restart',field7)  ; ENDIF 
    86       IF (PRESENT(field8))  THEN ; CALL  xios_write_field(TRIM(field8(1)%name)//'_restart',field8)  ; ENDIF 
    87       IF (PRESENT(field9))  THEN ; CALL  xios_write_field(TRIM(field9(1)%name)//'_restart',field9)  ; ENDIF 
    88       IF (PRESENT(field10))  THEN ; CALL  xios_write_field(TRIM(field10(1)%name)//'_restart',field10)  ; ENDIF 
    89       IF (PRESENT(field11))  THEN ; CALL  xios_write_field(TRIM(field11(1)%name)//'_restart',field11)  ; ENDIF 
    90       IF (PRESENT(field12))  THEN ; CALL  xios_write_field(TRIM(field12(1)%name)//'_restart',field12)  ; ENDIF 
    91       IF (PRESENT(field13))  THEN ; CALL  xios_write_field(TRIM(field13(1)%name)//'_restart',field13)  ; ENDIF 
    92       IF (PRESENT(field14))  THEN ; CALL  xios_write_field(TRIM(field14(1)%name)//'_restart',field14)  ; ENDIF 
    93       IF (PRESENT(field15))  THEN ; CALL  xios_write_field(TRIM(field15(1)%name)//'_restart',field15)  ; ENDIF 
    94       IF (PRESENT(field16))  THEN ; CALL  xios_write_field(TRIM(field16(1)%name)//'_restart',field16)  ; ENDIF 
    95       IF (PRESENT(field17))  THEN ; CALL  xios_write_field(TRIM(field17(1)%name)//'_restart',field17)  ; ENDIF 
    96       IF (PRESENT(field18))  THEN ; CALL  xios_write_field(TRIM(field18(1)%name)//'_restart',field18)  ; ENDIF 
    97       IF (PRESENT(field19))  THEN ; CALL  xios_write_field(TRIM(field19(1)%name)//'_restart',field19)  ; ENDIF 
    98       IF (is_omp_master) CALL xios_send_field("it_restart",it*1.0) 
     86      IF (PRESENT(field0))  THEN ; CALL  xios_write_field(TRIM(field0(1)%name)//TRIM(suffix),field0)  ; ENDIF 
     87      IF (PRESENT(field1))  THEN ; CALL  xios_write_field(TRIM(field1(1)%name)//TRIM(suffix),field1)  ; ENDIF 
     88      IF (PRESENT(field2))  THEN ; CALL  xios_write_field(TRIM(field2(1)%name)//TRIM(suffix),field2)  ; ENDIF 
     89      IF (PRESENT(field3))  THEN ; CALL  xios_write_field(TRIM(field3(1)%name)//TRIM(suffix),field3)  ; ENDIF 
     90      IF (PRESENT(field4))  THEN ; CALL  xios_write_field(TRIM(field4(1)%name)//TRIM(suffix),field4)  ; ENDIF 
     91      IF (PRESENT(field5))  THEN ; CALL  xios_write_field(TRIM(field5(1)%name)//TRIM(suffix),field5)  ; ENDIF 
     92      IF (PRESENT(field6))  THEN ; CALL  xios_write_field(TRIM(field6(1)%name)//TRIM(suffix),field6)  ; ENDIF 
     93      IF (PRESENT(field7))  THEN ; CALL  xios_write_field(TRIM(field7(1)%name)//TRIM(suffix),field7)  ; ENDIF 
     94      IF (PRESENT(field8))  THEN ; CALL  xios_write_field(TRIM(field8(1)%name)//TRIM(suffix),field8)  ; ENDIF 
     95      IF (PRESENT(field9))  THEN ; CALL  xios_write_field(TRIM(field9(1)%name)//TRIM(suffix),field9)  ; ENDIF 
     96      IF (PRESENT(field10))  THEN ; CALL  xios_write_field(TRIM(field10(1)%name)//TRIM(suffix),field10)  ; ENDIF 
     97      IF (PRESENT(field11))  THEN ; CALL  xios_write_field(TRIM(field11(1)%name)//TRIM(suffix),field11)  ; ENDIF 
     98      IF (PRESENT(field12))  THEN ; CALL  xios_write_field(TRIM(field12(1)%name)//TRIM(suffix),field12)  ; ENDIF 
     99      IF (PRESENT(field13))  THEN ; CALL  xios_write_field(TRIM(field13(1)%name)//TRIM(suffix),field13)  ; ENDIF 
     100      IF (PRESENT(field14))  THEN ; CALL  xios_write_field(TRIM(field14(1)%name)//TRIM(suffix),field14)  ; ENDIF 
     101      IF (PRESENT(field15))  THEN ; CALL  xios_write_field(TRIM(field15(1)%name)//TRIM(suffix),field15)  ; ENDIF 
     102      IF (PRESENT(field16))  THEN ; CALL  xios_write_field(TRIM(field16(1)%name)//TRIM(suffix),field16)  ; ENDIF 
     103      IF (PRESENT(field17))  THEN ; CALL  xios_write_field(TRIM(field17(1)%name)//TRIM(suffix),field17)  ; ENDIF 
     104      IF (PRESENT(field18))  THEN ; CALL  xios_write_field(TRIM(field18(1)%name)//TRIM(suffix),field18)  ; ENDIF 
     105      IF (PRESENT(field19))  THEN ; CALL  xios_write_field(TRIM(field19(1)%name)//TRIM(suffix),field19)  ; ENDIF 
     106      IF (is_omp_master) CALL xios_send_field('it'//TRIM(suffix),it*1.0) 
    99107 
    100108    ELSE 
     
    127135 
    128136      IF (is_mpi_root) THEN 
    129         status = NF90_CREATE(TRIM(ADJUSTL(restart_file_name))//'.nc', NF90_CLOBBER, ncid) 
     137        status = NF90_CREATE(TRIM(ADJUSTL(file_name))//'.nc', NF90_CLOBBER, ncid) 
    130138        status = NF90_DEF_DIM(ncid,'cell',ncell_glo,cellId) 
    131139        status = NF90_DEF_DIM(ncid,'edge',3*ncell_glo,edgeId) 
  • codes/icosagcm/devel/src/timeloop_gcm.f90

    r499 r528  
    175175    USE output_field_mod 
    176176    USE write_etat0_mod 
     177    USE restart_mod 
    177178    USE checksum_mod 
    178179    USE explicit_scheme_mod 
     
    222223      IF (is_omp_master) CALL xios_update_calendar(1) 
    223224    END IF 
     225     
     226    IF (write_start) CALL write_etat0(itau0,f_ps, f_phis,f_theta_rhodz,f_u,f_q)  ! FIXME : write_start undefined 
     227    
    224228    CALL write_output_fields_basic(.TRUE., f_phis, f_ps, f_mass, f_geopot, f_theta_rhodz, f_u, f_W, f_q) 
    225229 
Note: See TracChangeset for help on using the changeset viewer.