- Timestamp:
- 2017-05-18T10:43:31+02:00 (7 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC/IOM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r8014 r8038 260 260 !set names for variables in restart file 261 261 262 rst_fields(:)="NO_NAME" 263 264 rst_fields(1)="rdt" 265 rst_fields(2)="rdttra1" 266 rst_fields(3)="un" 267 rst_fields(4)="ub" 268 rst_fields(5)="vn" 269 rst_fields(6)="vb" 270 rst_fields(7)="tn" 271 rst_fields(8)="tb" 272 rst_fields(9)="sn" 273 rst_fields(10)="sb" 274 rst_fields(11)="sshn" 275 rst_fields(12)="sshb" 276 rst_fields(13)="hdivn" 277 rst_fields(14)="hdivb" 278 rst_fields(15)="rhop" 279 rst_fields(16)="rotn" 280 rst_fields(17)="rotb" 281 rst_fields(18)="kt" 282 rst_fields(19)="ndastp" 283 rst_fields(20)="adatrj" 284 rst_fields(21)="utau_b" 285 rst_fields(22)="vtau_b" 286 rst_fields(23)="qns_b" 287 rst_fields(24)="emp_b" 288 rst_fields(25)="sfx_b" 289 rst_fields(26)="en" 290 rst_fields(27)="avt" 291 rst_fields(28)="avm" 292 rst_fields(29)="avmu" 293 rst_fields(30)="avmv" 294 rst_fields(31)="dissl" 295 rst_fields(32)="sbc_hc_b" 296 rst_fields(33)="sbc_sc_b" 297 rst_fields(34)="qsr_hc_b" 298 rst_fields(35)="gcx" 299 rst_fields(36)="gcxb" 300 rst_fields(37)="fraqsr_1lev" 301 rst_fields(38)="greenland_icesheet_mass" 302 rst_fields(39)="greenland_icesheet_timelapsed" 303 rst_fields(40)="greenland_icesheet_mass_roc" 304 rst_fields(41)="antarctica_icesheet_mass" 305 rst_fields(42)="antarctica_icesheet_timelapsed" 306 rst_fields(43)="antarctica_icesheet_mass_roc" 307 rst_fields(44)="rhd" 308 rst_fields(45)="frc_v" 309 rst_fields(46)="frc_t" 310 rst_fields(47)="frc_s" 311 rst_fields(48)="frc_wn_t" 312 rst_fields(49)="frc_wn_s" 313 rst_fields(50)="ssh_ini" 314 rst_fields(51)="e3t_ini" 315 rst_fields(52)="hc_loc_ini" 316 rst_fields(53)="sc_loc_ini" 317 rst_fields(54)="ssh_hc_loc_ini" 318 rst_fields(55)="ssh_sc_loc_ini" 319 rst_fields(56)="fse3t_b" 320 rst_fields(57)="fse3t_n" 321 rst_fields(58)="tilde_e3t_b" 322 rst_fields(59)="tilde_e3t_n" 323 rst_fields(60)="hdiv_lf" 324 rst_fields(61)="ub2_b" 325 rst_fields(62)="vb2_b" 326 rst_fields(63)="sshbb_e" 327 rst_fields(64)="ubb_e" 328 rst_fields(65)="vbb_e" 329 rst_fields(66)="sshb_e" 330 rst_fields(67)="ub_e" 331 rst_fields(68)="vb_e" 332 rst_fields(69)="fwf_isf_b" 333 rst_fields(70)="isf_sc_b" 334 rst_fields(71)="isf_hc_b" 335 rst_fields(72)="ssh_ibb" 336 rst_fields(73)="rnf_b" 337 rst_fields(74)="rnf_hc_b" 338 rst_fields(75)="rnf_sc_b" 339 rst_fields(76)="nn_fsbc" 340 rst_fields(77)="ssu_m" 341 rst_fields(78)="ssv_m" 342 rst_fields(79)="sst_m" 343 rst_fields(80)="sss_m" 344 rst_fields(81)="ssh_m" 345 rst_fields(82)="e3t_m" 346 rst_fields(83)="frq_m" 347 rst_fields(84)="avmb" 348 rst_fields(85)="avtb" 262 rst_fields(:)%vname="NO_NAME"; rst_fields(:)%grid="NO_GRID" 263 264 rst_fields(1)%vname="rdt"; rst_fields(1)% grid="grid_scalar" 265 rst_fields(2)%vname="rdttra1"; rst_fields(2)% grid="grid_scalar" 266 rst_fields(3)%vname="un"; rst_fields(3)% grid="grid_N_3D" 267 rst_fields(4)%vname="ub"; rst_fields(4)% grid="grid_N_3D" 268 rst_fields(5)%vname="vn"; rst_fields(5)% grid="grid_N_3D" 269 rst_fields(6)%vname="vb"; rst_fields(6)% grid="grid_N_3D" 270 rst_fields(7)%vname="tn"; rst_fields(7)% grid="grid_N_3D" 271 rst_fields(8)%vname="tb"; rst_fields(8)% grid="grid_N_3D" 272 rst_fields(9)%vname="sn"; rst_fields(9)% grid="grid_N_3D" 273 rst_fields(10)%vname="sb"; rst_fields(10)%grid="grid_N_3D" 274 rst_fields(11)%vname="sshn"; rst_fields(11)%grid="grid_N" 275 rst_fields(12)%vname="sshb"; rst_fields(12)%grid="grid_N" 276 rst_fields(13)%vname="hdivn"; rst_fields(13)%grid="grid_N_3D" 277 rst_fields(14)%vname="hdivb"; rst_fields(14)%grid="grid_N_3D" 278 rst_fields(15)%vname="rhop"; rst_fields(15)%grid="grid_N_3D" 279 rst_fields(16)%vname="rotn"; rst_fields(16)%grid="grid_N_3D" 280 rst_fields(17)%vname="rotb"; rst_fields(17)%grid="grid_N_3D" 281 rst_fields(18)%vname="kt"; rst_fields(18)%grid="grid_scalar" 282 rst_fields(19)%vname="ndastp"; rst_fields(19)%grid="grid_scalar" 283 rst_fields(20)%vname="adatrj"; rst_fields(20)%grid="grid_scalar" 284 rst_fields(21)%vname="utau_b"; rst_fields(21)%grid="grid_N" 285 rst_fields(22)%vname="vtau_b"; rst_fields(22)%grid="grid_N" 286 rst_fields(23)%vname="qns_b"; rst_fields(23)%grid="grid_N" 287 rst_fields(24)%vname="emp_b"; rst_fields(24)%grid="grid_N" 288 rst_fields(25)%vname="sfx_b"; rst_fields(25)%grid="grid_N" 289 rst_fields(26)%vname="en" ; rst_fields(26)%grid="grid_N_3D" 290 rst_fields(27)%vname="avt"; rst_fields(27)%grid="grid_N_3D" 291 rst_fields(28)%vname="avm"; rst_fields(28)%grid="grid_N_3D" 292 rst_fields(29)%vname="avmu"; rst_fields(29)%grid="grid_N_3D" 293 rst_fields(30)%vname="avmv"; rst_fields(30)%grid="grid_N_3D" 294 rst_fields(31)%vname="dissl"; rst_fields(31)%grid="grid_N_3D" 295 rst_fields(32)%vname="sbc_hc_b"; rst_fields(32)%grid="grid_N" 296 rst_fields(33)%vname="sbc_sc_b"; rst_fields(33)%grid="grid_N" 297 rst_fields(34)%vname="qsr_hc_b"; rst_fields(34)%grid="grid_N_3D" 298 rst_fields(35)%vname="gcx"; rst_fields(35)%grid="grid_N" 299 rst_fields(36)%vname="gcxb"; rst_fields(36)%grid="grid_N" 300 rst_fields(37)%vname="fraqsr_1lev"; rst_fields(37)%grid="grid_N" 301 rst_fields(38)%vname="greenland_icesheet_mass" 302 rst_fields(38)%grid="grid_scalar" 303 rst_fields(39)%vname="greenland_icesheet_timelapsed" 304 rst_fields(39)%grid="grid_scalar" 305 rst_fields(40)%vname="greenland_icesheet_mass_roc" 306 rst_fields(40)%grid="grid_scalar" 307 rst_fields(41)%vname="antarctica_icesheet_mass" 308 rst_fields(41)%grid="grid_scalar" 309 rst_fields(42)%vname="antarctica_icesheet_timelapsed" 310 rst_fields(42)%grid="grid_scalar" 311 rst_fields(43)%vname="antarctica_icesheet_mass_roc" 312 rst_fields(43)%grid="grid_scalar" 313 rst_fields(44)%vname="rhd"; rst_fields(44)%grid="grid_N_3D" 314 rst_fields(45)%vname="frc_v"; rst_fields(45)%grid="grid_scalar" 315 rst_fields(46)%vname="frc_t"; rst_fields(46)%grid="grid_scalar" 316 rst_fields(47)%vname="frc_s"; rst_fields(47)%grid="grid_scalar" 317 rst_fields(48)%vname="frc_wn_t"; rst_fields(48)%grid="grid_scalar" 318 rst_fields(49)%vname="frc_wn_s"; rst_fields(49)%grid="grid_scalar" 319 rst_fields(50)%vname="ssh_ini"; rst_fields(50)%grid="grid_N" 320 rst_fields(51)%vname="e3t_ini"; rst_fields(51)%grid="grid_N_3D" 321 rst_fields(52)%vname="hc_loc_ini"; rst_fields(52)%grid="grid_N_3D" 322 rst_fields(53)%vname="sc_loc_ini"; rst_fields(53)%grid="grid_N_3D" 323 rst_fields(54)%vname="ssh_hc_loc_ini"; rst_fields(54)%grid="grid_N" 324 rst_fields(55)%vname="ssh_sc_loc_ini"; rst_fields(55)%grid="grid_N" 325 rst_fields(56)%vname="fse3t_b"; rst_fields(56)%grid="grid_N_3D" 326 rst_fields(57)%vname="fse3t_n"; rst_fields(57)%grid="grid_N_3D" 327 rst_fields(58)%vname="tilde_e3t_b"; rst_fields(58)%grid="grid_N" 328 rst_fields(59)%vname="tilde_e3t_n"; rst_fields(59)%grid="grid_N" 329 rst_fields(60)%vname="hdiv_lf"; rst_fields(60)%grid="grid_N" 330 rst_fields(61)%vname="ub2_b"; rst_fields(61)%grid="grid_N" 331 rst_fields(62)%vname="vb2_b"; rst_fields(62)%grid="grid_N" 332 rst_fields(63)%vname="sshbb_e"; rst_fields(63)%grid="grid_N" 333 rst_fields(64)%vname="ubb_e"; rst_fields(64)%grid="grid_N" 334 rst_fields(65)%vname="vbb_e"; rst_fields(65)%grid="grid_N" 335 rst_fields(66)%vname="sshb_e"; rst_fields(66)%grid="grid_N" 336 rst_fields(67)%vname="ub_e"; rst_fields(67)%grid="grid_N" 337 rst_fields(68)%vname="vb_e"; rst_fields(68)%grid="grid_N" 338 rst_fields(69)%vname="fwf_isf_b"; rst_fields(69)%grid="grid_N" 339 rst_fields(70)%vname="isf_sc_b"; rst_fields(70)%grid="grid_N" 340 rst_fields(71)%vname="isf_hc_b"; rst_fields(71)%grid="grid_N" 341 rst_fields(72)%vname="ssh_ibb"; rst_fields(72)%grid="grid_N" 342 rst_fields(73)%vname="rnf_b"; rst_fields(73)%grid="grid_N" 343 rst_fields(74)%vname="rnf_hc_b"; rst_fields(74)%grid="grid_N" 344 rst_fields(75)%vname="rnf_sc_b"; rst_fields(75)%grid="grid_N" 345 rst_fields(76)%vname="nn_fsbc"; rst_fields(76)%grid="grid_scalar" 346 rst_fields(77)%vname="ssu_m"; rst_fields(77)%grid="grid_N" 347 rst_fields(78)%vname="ssv_m"; rst_fields(78)%grid="grid_N" 348 rst_fields(79)%vname="sst_m"; rst_fields(79)%grid="grid_N" 349 rst_fields(80)%vname="sss_m"; rst_fields(80)%grid="grid_N" 350 rst_fields(81)%vname="ssh_m"; rst_fields(81)%grid="grid_N" 351 rst_fields(82)%vname="e3t_m"; rst_fields(82)%grid="grid_N" 352 rst_fields(83)%vname="frq_m"; rst_fields(83)%grid="grid_N" 353 rst_fields(84)%vname="avmb"; rst_fields(84)%grid="Vgrid" 354 rst_fields(85)%vname="avtb"; rst_fields(85)%grid="Vgrid" 349 355 350 356 END SUBROUTINE set_rst_vars … … 353 359 SUBROUTINE set_rstr_active() 354 360 !sets enabled = .TRUE. for each field in restart file 355 CHARACTER(len=256) :: rst_file 356 INTEGER :: i 361 CHARACTER(len=256) :: rst_file 362 TYPE(xios_field) :: field_hdl 363 TYPE(xios_file) :: file_hdl 364 TYPE(xios_filegroup) :: filegroup_hdl 365 INTEGER :: i 357 366 358 367 rst_file = TRIM(cn_ocerst_indir)//TRIM(cn_ocerst_in) 359 368 !set name of the restart file and enable available fields 360 369 if(lwp) WRITE(numout,*) 'Setting restart filename (for XIOS) to: ',rst_file 361 CALL xios_set_file_attr( "rrestart", enabled = .TRUE.) 362 CALL xios_set_file_attr( "rrestart", name=trim(rst_file)) 363 !eneble fields in restart file 370 CALL xios_get_handle("file_definition", filegroup_hdl ) 371 CALL xios_add_child(filegroup_hdl, file_hdl, 'rrestart') 372 CALL xios_set_file_attr( "rrestart", name=trim(rst_file), type="one_file", & 373 par_access="collective", enabled=.TRUE., mode="read", & 374 output_freq=xios_timestep) 375 !defin files for restart context 364 376 DO i = 1, max_rst_fields 365 IF( TRIM(rst_fields(i) ) /= "NO_NAME") THEN366 IF( iom_varid( numror, TRIM(rst_fields(i) ), ldstop = .FALSE. ) > 0 ) THEN367 IF ( xios_is_valid_field( TRIM(rst_fields(i)) ) ) THEN368 CALL xios_set_ field_attr ( TRIM(rst_fields(i)), enabled = .TRUE. )369 if(lwp) WRITE(numout,*) TRIM(rst_fields(i)), ' enabled'370 ENDIF377 IF( TRIM(rst_fields(i)%vname) /= "NO_NAME") THEN 378 IF( iom_varid( numror, TRIM(rst_fields(i)%vname), ldstop = .FALSE. ) > 0 ) THEN 379 CALL xios_add_child(file_hdl, field_hdl, TRIM(rst_fields(i)%vname)) 380 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(rst_fields(i)%vname), & 381 grid_ref = TRIM(rst_fields(i)%grid ), operation = "instant") 382 if(lwp) WRITE(numout,*) TRIM(rst_fields(i)%vname), ' enabled' 371 383 ENDIF 372 384 ENDIF -
branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC/IOM/iom_def.F90
r8001 r8038 74 74 END TYPE file_descriptor 75 75 TYPE(file_descriptor), DIMENSION(jpmax_files), PUBLIC :: iom_file !: array containing the info for all opened files 76 INTEGER, PARAMETER, PUBLIC :: max_rst_fields = 85 !maximum number of variables in a restart file 77 CHARACTER(len=30),DIMENSION(max_rst_fields), PUBLIC :: rst_fields ! names of variables in restart file 76 77 INTEGER, PARAMETER, PUBLIC :: max_rst_fields = 85 78 ! CHARACTER(len=30),DIMENSION(max_rst_fields), PUBLIC :: rst_fields ! names of variables in restart file 79 80 TYPE, PUBLIC :: RST_FIELD 81 CHARACTER(len=30) :: vname ! names of variables in restart file 82 CHARACTER(len=30) :: grid 83 END TYPE RST_FIELD 84 TYPE(RST_FIELD), PUBLIC :: rst_fields(max_rst_fields) 78 85 79 86 !$AGRIF_END_DO_NOT_TREAT
Note: See TracChangeset
for help on using the changeset viewer.