Changeset 7489 for branches/UKMO
- Timestamp:
- 2016-12-12T12:27:44+01:00 (7 years ago)
- Location:
- branches/UKMO/dev_r4650_general_vert_coord_obsoper_surf_bgc/NEMOGCM/NEMO/OPA_SRC/OBS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r4650_general_vert_coord_obsoper_surf_bgc/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r7480 r7489 1450 1450 #elif defined key_fabm 1451 1451 USE fabm 1452 USE trcsms_fabm, ONLY: model ! ERSEM chlorophyll, fCO2 and pCO21452 USE par_fabm 1453 1453 #endif 1454 1454 #if defined key_spm … … 1492 1492 INTEGER :: jn ! loop index 1493 1493 #if defined key_fabm 1494 INTEGER :: chl_index1495 1494 REAL(wp), DIMENSION(jpi,jpj,jpk) :: logchl_3d 1496 1495 #endif … … 1611 1610 logchl(:,:) = MEDUSA_CHL(:,:,1) ! (not log) chlorophyll from HadOCC 1612 1611 #elif defined key_fabm 1613 DO jn = 1, SIZE(model%diagnostic_variables) 1614 IF (TRIM(model%diagnostic_variables(jn)%standard_variable%name) == 'total_chlorophyll') THEN 1615 chl_index = jn 1616 EXIT 1617 ENDIF 1618 END DO 1619 logchl_3d(:,:,:) = fabm_get_bulk_diagnostic_data(model, chl_index) 1612 logchl_3d(:,:,:) = fabm_get_bulk_diagnostic_data(model, jp_fabmdia_chltot) 1620 1613 logchl(:,:) = logchl_3d(:,:,1) 1621 1614 #else -
branches/UKMO/dev_r4650_general_vert_coord_obsoper_surf_bgc/NEMOGCM/NEMO/OPA_SRC/OBS/obs_prep.F90
r7480 r7489 1423 1423 INTEGER :: inlasobs ! - close to land 1424 1424 INTEGER :: igrdobs ! - fail the grid search 1425 INTEGER :: ibdysobs ! - close to open boundary 1425 1426 ! Global counters for observations that 1426 1427 INTEGER :: iotdobsmpp ! - outside time domain … … 1429 1430 INTEGER :: inlasobsmpp ! - close to land 1430 1431 INTEGER :: igrdobsmpp ! - fail the grid search 1432 INTEGER :: ibdysobsmpp ! - close to open boundary 1431 1433 LOGICAL, DIMENSION(:), ALLOCATABLE :: & 1432 1434 & llvalid ! data selection … … 1434 1436 INTEGER :: jstp ! Time loop variable 1435 1437 INTEGER :: inrc ! Time index variable 1438 INTEGER :: irec ! Record index 1436 1439 1437 1440 IF (lwp) WRITE(numout,*)'obs_pre_logchl : Preparing the logchl observations...' … … 1453 1456 ilansobs = 0 1454 1457 inlasobs = 0 1458 ibdysobs = 0 1455 1459 1456 1460 ! ----------------------------------------------------------------------- … … 1483 1487 & tmask(:,:,1), logchldata%nqc, & 1484 1488 & iosdsobs, ilansobs, & 1485 & inlasobs, ld_nea ) 1489 & inlasobs, ld_nea, & 1490 & ibdysobs, ln_bound_reject ) 1486 1491 1487 1492 CALL obs_mpp_sum_integer( iosdsobs, iosdsobsmpp ) 1488 1493 CALL obs_mpp_sum_integer( ilansobs, ilansobsmpp ) 1489 1494 CALL obs_mpp_sum_integer( inlasobs, inlasobsmpp ) 1495 CALL obs_mpp_sum_integer( ibdysobs, ibdysobsmpp ) 1490 1496 1491 1497 ! ----------------------------------------------------------------------- … … 1536 1542 & inlasobsmpp 1537 1543 ENDIF 1544 WRITE(numout,*) ' Remaining logchl data near open boundary (removed) = ', & 1545 & ibdysobsmpp 1538 1546 WRITE(numout,*) ' logchl data accepted = ', & 1539 1547 & logchldatqc%nsurfmpp … … 1606 1614 INTEGER :: inlasobs ! - close to land 1607 1615 INTEGER :: igrdobs ! - fail the grid search 1616 INTEGER :: ibdysobs ! - close to open boundary 1608 1617 ! Global counters for observations that 1609 1618 INTEGER :: iotdobsmpp ! - outside time domain … … 1612 1621 INTEGER :: inlasobsmpp ! - close to land 1613 1622 INTEGER :: igrdobsmpp ! - fail the grid search 1623 INTEGER :: ibdysobsmpp ! - close to open boundary 1614 1624 LOGICAL, DIMENSION(:), ALLOCATABLE :: & 1615 1625 & llvalid ! data selection … … 1617 1627 INTEGER :: jstp ! Time loop variable 1618 1628 INTEGER :: inrc ! Time index variable 1629 INTEGER :: irec ! Record index 1619 1630 1620 1631 IF (lwp) WRITE(numout,*)'obs_pre_spm : Preparing the spm observations...' … … 1636 1647 ilansobs = 0 1637 1648 inlasobs = 0 1649 ibdysobs = 0 1638 1650 1639 1651 ! ----------------------------------------------------------------------- … … 1666 1678 & tmask(:,:,1), spmdata%nqc, & 1667 1679 & iosdsobs, ilansobs, & 1668 & inlasobs, ld_nea ) 1680 & inlasobs, ld_nea, & 1681 & ibdysobs, ln_bound_reject ) 1669 1682 1670 1683 CALL obs_mpp_sum_integer( iosdsobs, iosdsobsmpp ) 1671 1684 CALL obs_mpp_sum_integer( ilansobs, ilansobsmpp ) 1672 1685 CALL obs_mpp_sum_integer( inlasobs, inlasobsmpp ) 1686 CALL obs_mpp_sum_integer( ibdysobs, ibdysobsmpp ) 1673 1687 1674 1688 ! ----------------------------------------------------------------------- … … 1719 1733 & inlasobsmpp 1720 1734 ENDIF 1735 WRITE(numout,*) ' Remaining spm data near open boundary (removed) = ', & 1736 & ibdysobsmpp 1721 1737 WRITE(numout,*) ' spm data accepted = ', & 1722 1738 & spmdatqc%nsurfmpp … … 1789 1805 INTEGER :: inlasobs ! - close to land 1790 1806 INTEGER :: igrdobs ! - fail the grid search 1807 INTEGER :: ibdysobs ! - close to open boundary 1791 1808 ! Global counters for observations that 1792 1809 INTEGER :: iotdobsmpp ! - outside time domain … … 1795 1812 INTEGER :: inlasobsmpp ! - close to land 1796 1813 INTEGER :: igrdobsmpp ! - fail the grid search 1814 INTEGER :: ibdysobsmpp ! - close to open boundary 1797 1815 LOGICAL, DIMENSION(:), ALLOCATABLE :: & 1798 1816 & llvalid ! data selection … … 1800 1818 INTEGER :: jstp ! Time loop variable 1801 1819 INTEGER :: inrc ! Time index variable 1820 INTEGER :: irec ! Record index 1802 1821 1803 1822 IF (lwp) WRITE(numout,*)'obs_pre_fco2 : Preparing the fco2 observations...' … … 1819 1838 ilansobs = 0 1820 1839 inlasobs = 0 1840 ibdysobs = 0 1821 1841 1822 1842 ! ----------------------------------------------------------------------- … … 1849 1869 & tmask(:,:,1), fco2data%nqc, & 1850 1870 & iosdsobs, ilansobs, & 1851 & inlasobs, ld_nea ) 1871 & inlasobs, ld_nea, & 1872 & ibdysobs, ln_bound_reject ) 1852 1873 1853 1874 CALL obs_mpp_sum_integer( iosdsobs, iosdsobsmpp ) 1854 1875 CALL obs_mpp_sum_integer( ilansobs, ilansobsmpp ) 1855 1876 CALL obs_mpp_sum_integer( inlasobs, inlasobsmpp ) 1877 CALL obs_mpp_sum_integer( ibdysobs, ibdysobsmpp ) 1856 1878 1857 1879 ! ----------------------------------------------------------------------- … … 1902 1924 & inlasobsmpp 1903 1925 ENDIF 1926 WRITE(numout,*) ' Remaining fco2 data near open boundary (removed) = ', & 1927 & ibdysobsmpp 1904 1928 WRITE(numout,*) ' fco2 data accepted = ', & 1905 1929 & fco2datqc%nsurfmpp … … 1972 1996 INTEGER :: inlasobs ! - close to land 1973 1997 INTEGER :: igrdobs ! - fail the grid search 1998 INTEGER :: ibdysobs ! - close to open boundary 1974 1999 ! Global counters for observations that 1975 2000 INTEGER :: iotdobsmpp ! - outside time domain … … 1978 2003 INTEGER :: inlasobsmpp ! - close to land 1979 2004 INTEGER :: igrdobsmpp ! - fail the grid search 2005 INTEGER :: ibdysobsmpp ! - close to open boundary 1980 2006 LOGICAL, DIMENSION(:), ALLOCATABLE :: & 1981 2007 & llvalid ! data selection … … 1983 2009 INTEGER :: jstp ! Time loop variable 1984 2010 INTEGER :: inrc ! Time index variable 2011 INTEGER :: irec ! Record index 1985 2012 1986 2013 IF (lwp) WRITE(numout,*)'obs_pre_pco2 : Preparing the pco2 observations...' … … 2002 2029 ilansobs = 0 2003 2030 inlasobs = 0 2031 ibdysobs = 0 2004 2032 2005 2033 ! ----------------------------------------------------------------------- … … 2032 2060 & tmask(:,:,1), pco2data%nqc, & 2033 2061 & iosdsobs, ilansobs, & 2034 & inlasobs, ld_nea ) 2062 & inlasobs, ld_nea, & 2063 & ibdysobs, ln_bound_reject ) 2035 2064 2036 2065 CALL obs_mpp_sum_integer( iosdsobs, iosdsobsmpp ) 2037 2066 CALL obs_mpp_sum_integer( ilansobs, ilansobsmpp ) 2038 2067 CALL obs_mpp_sum_integer( inlasobs, inlasobsmpp ) 2068 CALL obs_mpp_sum_integer( ibdysobs, ibdysobsmpp ) 2039 2069 2040 2070 ! ----------------------------------------------------------------------- … … 2085 2115 & inlasobsmpp 2086 2116 ENDIF 2117 WRITE(numout,*) ' Remaining pco2 data near open boundary (removed) = ', & 2118 & ibdysobsmpp 2087 2119 WRITE(numout,*) ' pco2 data accepted = ', & 2088 2120 & pco2datqc%nsurfmpp
Note: See TracChangeset
for help on using the changeset viewer.