New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 11893 for NEMO/branches/2019/dev_r11756_SI3restart_XIOS/src/ICE/icedyn_adv_pra.F90 – NEMO

Ignore:
Timestamp:
2019-11-13T09:48:43+01:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2323 read/write SI3 restart file

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11756_SI3restart_XIOS/src/ICE/icedyn_adv_pra.F90

    r11870 r11893  
    702702         CALL iom_set_rstw_var_active(rsti_wfields, 'syyage') 
    703703         CALL iom_set_rstw_var_active(rsti_wfields, 'sxyage') 
    704          DO jk = 1, nlay_s 
    705             WRITE(zchar1,'(I2.2)') jk 
    706             znam = 'sxc0'//'_l'//zchar1   
    707             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    708             znam = 'syc0'//'_l'//zchar1   
    709             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    710             znam = 'sxxc0'//'_l'//zchar1  
    711             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    712             znam = 'syyc0'//'_l'//zchar1  
    713             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    714             znam = 'sxyc0'//'_l'//zchar1  
    715             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    716          END DO 
    717          DO jk = 1, nlay_i 
    718             WRITE(zchar1,'(I2.2)') jk 
    719             znam = 'sxe'//'_l'//zchar1    
    720             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    721             znam = 'sye'//'_l'//zchar1    
    722             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    723             znam = 'sxxe'//'_l'//zchar1   
    724             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    725             znam = 'syye'//'_l'//zchar1   
    726             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    727             znam = 'sxye'//'_l'//zchar1   
    728             CALL iom_set_rstw_var_active(rsti_wfields, znam ) 
    729          END DO 
     704        
     705         CALL iom_set_rstw_var_active(rsti_wfields, 'sxc0') 
     706         CALL iom_set_rstw_var_active(rsti_wfields, 'syc0') 
     707         CALL iom_set_rstw_var_active(rsti_wfields, 'sxxc0') 
     708         CALL iom_set_rstw_var_active(rsti_wfields, 'syyc0') 
     709         CALL iom_set_rstw_var_active(rsti_wfields, 'sxyc0') 
     710 
     711         CALL iom_set_rstw_var_active(rsti_wfields, 'sxe') 
     712         CALL iom_set_rstw_var_active(rsti_wfields, 'sye') 
     713         CALL iom_set_rstw_var_active(rsti_wfields, 'sxxe') 
     714         CALL iom_set_rstw_var_active(rsti_wfields, 'syye') 
     715         CALL iom_set_rstw_var_active(rsti_wfields, 'sxye') 
    730716         ! 
    731717         IF( ln_pnd_H12 ) THEN                                       ! melt pond fraction 
     
    842828               CALL iom_get( numrir, jpdom_autoglo, "syyc0", syyc0, ldxios = lrxios ) 
    843829               CALL iom_get( numrir, jpdom_autoglo, "sxyc0", sxyc0, ldxios = lrxios ) 
    844                CALL iom_get( numrir, jpdom_autoglo, "sxe", sxc0, ldxios = lrxios ) 
    845                CALL iom_get( numrir, jpdom_autoglo, "sye", syc0, ldxios = lrxios ) 
    846                CALL iom_get( numrir, jpdom_autoglo, "sxxe", sxxc0, ldxios = lrxios ) 
    847                CALL iom_get( numrir, jpdom_autoglo, "syye", syyc0, ldxios = lrxios ) 
    848                CALL iom_get( numrir, jpdom_autoglo, "sxye", sxyc0, ldxios = lrxios ) 
     830               CALL iom_get( numrir, jpdom_autoglo, "sxe", sxe, ldxios = lrxios ) 
     831               CALL iom_get( numrir, jpdom_autoglo, "sye", sye, ldxios = lrxios ) 
     832               CALL iom_get( numrir, jpdom_autoglo, "sxxe", sxxe, ldxios = lrxios ) 
     833               CALL iom_get( numrir, jpdom_autoglo, "syye", syye, ldxios = lrxios ) 
     834               CALL iom_get( numrir, jpdom_autoglo, "sxye", sxye, ldxios = lrxios ) 
    849835            ENDIF 
    850836            ! 
     
    924910         CALL iom_rstput( iter, nitrst, numriw, 'sxyage', sxyage, ldxios = lwxios )  
    925911         !                                                           ! snow layers heat content 
    926          DO jk = 1, nlay_s 
    927             WRITE(zchar1,'(I2.2)') jk 
    928             znam = 'sxc0'//'_l'//zchar1   
    929             z3d(:,:,:) = sxc0 (:,:,jk,:)   
    930             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    931  
    932             znam = 'syc0'//'_l'//zchar1   
    933             z3d(:,:,:) = syc0 (:,:,jk,:)   
    934             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    935  
    936             znam = 'sxxc0'//'_l'//zchar1  
    937             z3d(:,:,:) = sxxc0(:,:,jk,:)   
    938             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    939  
    940             znam = 'syyc0'//'_l'//zchar1  
    941             z3d(:,:,:) = syyc0(:,:,jk,:)   
    942             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    943  
    944             znam = 'sxyc0'//'_l'//zchar1  
    945             z3d(:,:,:) = sxyc0(:,:,jk,:)   
    946             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    947          END DO 
    948          !                                                           ! ice layers heat content 
    949          DO jk = 1, nlay_i 
    950             WRITE(zchar1,'(I2.2)') jk 
    951             znam = 'sxe'//'_l'//zchar1    
    952             z3d(:,:,:) = sxe (:,:,jk,:)    
    953             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    954             znam = 'sye'//'_l'//zchar1    
    955             z3d(:,:,:) = sye (:,:,jk,:)    
    956             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    957             znam = 'sxxe'//'_l'//zchar1   
    958             z3d(:,:,:) = sxxe(:,:,jk,:)    
    959             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    960             znam = 'syye'//'_l'//zchar1   
    961             z3d(:,:,:) = syye(:,:,jk,:)    
    962             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    963             znam = 'sxye'//'_l'//zchar1   
    964             z3d(:,:,:) = sxye(:,:,jk,:)    
    965             CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
    966          END DO 
     912         IF(lwxios) THEN 
     913            CALL iom_rstput( iter, nitrst, numriw, 'sxc0' ,  sxc0,  ldxios = lwxios ) 
     914            CALL iom_rstput( iter, nitrst, numriw, 'syc0' ,  syc0,  ldxios = lwxios ) 
     915            CALL iom_rstput( iter, nitrst, numriw, 'sxxc0', sxxc0,  ldxios = lwxios ) 
     916            CALL iom_rstput( iter, nitrst, numriw, 'syyc0', syyc0,  ldxios = lwxios ) 
     917            CALL iom_rstput( iter, nitrst, numriw, 'sxyc0', sxyc0,  ldxios = lwxios ) 
     918 
     919 
     920            CALL iom_rstput( iter, nitrst, numriw, 'sxe' ,  sxe,  ldxios = lwxios ) 
     921            CALL iom_rstput( iter, nitrst, numriw, 'sye' ,  sye,  ldxios = lwxios ) 
     922            CALL iom_rstput( iter, nitrst, numriw, 'sxxe', sxxe,  ldxios = lwxios ) 
     923            CALL iom_rstput( iter, nitrst, numriw, 'syye', syye,  ldxios = lwxios ) 
     924            CALL iom_rstput( iter, nitrst, numriw, 'sxye', sxye,  ldxios = lwxios ) 
     925         ELSE 
     926            DO jk = 1, nlay_s 
     927               WRITE(zchar1,'(I2.2)') jk 
     928               znam = 'sxc0'//'_l'//zchar1   
     929               z3d(:,:,:) = sxc0 (:,:,jk,:)   
     930               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     931 
     932               znam = 'syc0'//'_l'//zchar1   
     933               z3d(:,:,:) = syc0 (:,:,jk,:)   
     934               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     935 
     936               znam = 'sxxc0'//'_l'//zchar1  
     937               z3d(:,:,:) = sxxc0(:,:,jk,:)   
     938               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     939    
     940               znam = 'syyc0'//'_l'//zchar1  
     941               z3d(:,:,:) = syyc0(:,:,jk,:)   
     942               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     943    
     944               znam = 'sxyc0'//'_l'//zchar1  
     945               z3d(:,:,:) = sxyc0(:,:,jk,:)   
     946               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     947            END DO 
     948            !                                                           ! ice layers heat content 
     949            DO jk = 1, nlay_i 
     950               WRITE(zchar1,'(I2.2)') jk 
     951               znam = 'sxe'//'_l'//zchar1    
     952               z3d(:,:,:) = sxe (:,:,jk,:)    
     953               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     954               znam = 'sye'//'_l'//zchar1    
     955               z3d(:,:,:) = sye (:,:,jk,:)    
     956               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     957               znam = 'sxxe'//'_l'//zchar1   
     958               z3d(:,:,:) = sxxe(:,:,jk,:)    
     959               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     960               znam = 'syye'//'_l'//zchar1   
     961               z3d(:,:,:) = syye(:,:,jk,:)    
     962               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     963               znam = 'sxye'//'_l'//zchar1   
     964               z3d(:,:,:) = sxye(:,:,jk,:)    
     965               CALL iom_rstput( iter, nitrst, numriw, znam , z3d,  ldxios = lwxios ) 
     966            END DO 
     967         ENDIF 
    967968         ! 
    968969         IF( ln_pnd_H12 ) THEN                                       ! melt pond fraction 
Note: See TracChangeset for help on using the changeset viewer.