- Timestamp:
- 2019-12-11T12:38:43+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/fldread.F90
r11949 r12182 168 168 IF( PRESENT(kit) ) ll_firstcall = ll_firstcall .and. kit == 1 169 169 170 IF 170 IF( nn_components == jp_iam_sas ) THEN ; it_offset = nn_fsbc 171 171 ELSE ; it_offset = 0 172 172 ENDIF … … 391 391 ENDIF 392 392 ! 393 IF 393 IF( sdjf%cltype(1:4) == 'week' ) THEN 394 394 isec_week = isec_week + ksec_week( sdjf%cltype(6:8) ) ! second since the beginning of the week 395 395 llprevmth = isec_week > nsec_month ! longer time since the beginning of the week than the month … … 466 466 ENDIF 467 467 ! 468 IF 468 IF( nn_components == jp_iam_sas ) THEN ; it_offset = nn_fsbc 469 469 ELSE ; it_offset = 0 470 470 ENDIF … … 659 659 ENDIF 660 660 CASE DEFAULT 661 IF 661 IF(lk_c1d .AND. lmoor ) THEN 662 662 IF( sdjf%ln_tint ) THEN 663 663 CALL iom_get( sdjf%num, jpdom_unknown, sdjf%clvar, sdjf%fdta(2,2,:,2), sdjf%nrec_a(1) ) … … 1074 1074 imonth = kmonth 1075 1075 iday = kday 1076 IF 1076 IF( sdjf%cltype(1:4) == 'week' ) THEN ! find the day of the beginning of the week 1077 1077 isec_week = ksec_week( sdjf%cltype(6:8) )- (86400 * 8 ) 1078 1078 llprevmth = isec_week > nsec_month ! longer time since beginning of the week than the month … … 1083 1083 ENDIF 1084 1084 ELSE ! use current day values 1085 IF 1085 IF( sdjf%cltype(1:4) == 'week' ) THEN ! find the day of the beginning of the week 1086 1086 isec_week = ksec_week( sdjf%cltype(6:8) ) ! second since the beginning of the week 1087 1087 llprevmth = isec_week > nsec_month ! longer time since beginning of the week than the month … … 1321 1321 1322 1322 !! get dimensions 1323 IF ( SIZE(sd%fnow, 3) > 1 ) THEN 1323 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1324 !IF( SIZE(sd%fnow, 3) > 1 ) THEN 1325 IF( SIZE(sd%fnow, 3) > 0 ) THEN 1324 1326 ALLOCATE( ddims(4) ) 1325 1327 ELSE … … 1334 1336 1335 1337 CALL iom_open ( sd%wgtname, inum ) ! interpolation weights 1336 IF 1338 IF( inum > 0 ) THEN 1337 1339 1338 1340 !! determine whether we have an east-west cyclic grid … … 1643 1645 1644 1646 ref_wgts(kw)%fly_dta(:,:,:) = 0.0 1645 SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 1646 CASE(1) 1647 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 1648 CASE DEFAULT 1647 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1648 !SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 1649 !CASE(1) 1650 ! CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 1651 !CASE DEFAULT 1649 1652 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 1650 END SELECT1653 !END SELECT 1651 1654 ENDIF 1652 1655 … … 1666 1669 END DO 1667 1670 1668 IF 1671 IF(ref_wgts(kw)%numwgt .EQ. 16) THEN 1669 1672 1670 1673 !! fix up halo points that we couldnt read from file … … 1692 1695 IF( jpi1 == 2 ) THEN 1693 1696 rec1(1) = ref_wgts(kw)%ddims(1) - ref_wgts(kw)%overlap 1694 SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1695 CASE(1) 1696 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1697 CASE DEFAULT 1697 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1698 !SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1699 !CASE(1) 1700 ! CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1701 !CASE DEFAULT 1698 1702 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 1699 END SELECT1703 !END SELECT 1700 1704 ref_wgts(kw)%fly_dta(jpi1-1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 1701 1705 ENDIF 1702 1706 IF( jpi2 + jpimin - 1 == ref_wgts(kw)%ddims(1)+1 ) THEN 1703 1707 rec1(1) = 1 + ref_wgts(kw)%overlap 1704 SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1705 CASE(1) 1706 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1707 CASE DEFAULT 1708 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1709 !SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1710 !CASE(1) 1711 ! CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1712 !CASE DEFAULT 1708 1713 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 1709 END SELECT1714 !END SELECT 1710 1715 ref_wgts(kw)%fly_dta(jpi2+1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 1711 1716 ENDIF … … 1749 1754 END DO 1750 1755 ! 1751 END 1756 ENDIF 1752 1757 ! 1753 1758 END SUBROUTINE fld_interp
Note: See TracChangeset
for help on using the changeset viewer.