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 7454 – NEMO

Changeset 7454


Ignore:
Timestamp:
2016-12-06T15:07:06+01:00 (7 years ago)
Author:
jcastill
Message:

Small modifications to allow merging with another branch, fix added files

Location:
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90

    r7452 r7454  
    1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    2 <html xmlns="http://www.w3.org/1999/xhtml"> 
     1MODULE inv_bar_vel_mod 
     2 
     3!! Modules used 
     4  USE oce 
     5  USE dom_oce 
     6  USE sbcflx 
     7  USE sbc_oce 
     8 
     9!  REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv  !Pres grad force u and v component 
     10  PUBLIC inv 
     11 
     12CONTAINS 
     13 
     14  SUBROUTINE inv(kt) 
     15  USE oce 
     16  USE dom_oce 
     17  USE sbcflx 
     18  USE sbc_oce 
     19 
     20  INTEGER, INTENT ( in ) :: kt ! ocean time step 
     21 
     22!  REAL(wp), INTENT(in, out) :: ua,va 
     23!  REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv  !Pres grad force u and v component 
    324   
    4    
     25!  IF ( ln_shelf_flx ) then 
     26! Adjust the velocity 
     27!  write(10,*)'kt = ', kt 
    528 
    6    
    7  
    8  
    9   <head> 
    10     <title> 
    11       inv_bar_vel_mod.F90 in branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC 
    12      – NEMO 
    13     </title> 
    14       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    15       <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    16     <!--[if IE]><script type="text/javascript"> 
    17       if (/^#__msie303:/.test(window.location.hash)) 
    18         window.location.replace(window.location.hash.replace(/^#__msie303:/, '#')); 
    19     </script><![endif]--> 
    20         <link rel="search" href="/nemo/search" /> 
    21         <link rel="help" href="/nemo/wiki/TracGuide" /> 
    22         <link rel="alternate" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120&amp;format=txt" type="text/plain" title="Plain Text" /><link rel="alternate" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" type="text/x-fortran; charset=utf-8" title="Original Format" /> 
    23         <link rel="up" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 
    24         <link rel="start" href="/nemo/wiki" /> 
    25         <link rel="stylesheet" href="/nemo/chrome/common/css/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/contextchrome/css/contextchrome.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/code.css" type="text/css" /><link rel="stylesheet" href="/nemo/pygments/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/browser.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracwysiwyg/wysiwyg.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/tipsy.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracmenus/css/tracmenus.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/listofwikipages/style.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/bookmark/css/tracbookmark.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracbib/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/datasaver/datasaver.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/breadcrumbs/css/breadcrumbs.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/userpictures/userpictures.css" type="text/css" /> 
    26         <link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/common/css/trac.css" /><link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/tracwysiwyg/editor.css" /> 
    27         <link rel="tracwysiwyg.base" href="/nemo" /> 
    28         <link rel="shortcut icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 
    29         <link rel="icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 
    30       <link type="application/opensearchdescription+xml" rel="search" href="/nemo/search/opensearch" title="Search NEMO" /> 
    31     <script type="text/javascript"> 
    32       var config__ticket__decolate_fields=["type"]; 
    33       var _tracwysiwyg={}; 
    34     </script> 
    35       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/jquery.js"></script> 
    36       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/babel.js"></script> 
    37       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/trac.js"></script> 
    38       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/search.js"></script> 
    39       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/xdr.js"></script> 
    40       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/intertracticketlinkdecorator.js"></script> 
    41       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracwysiwyg/wysiwyg.js"></script> 
    42       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/jquery.tipsy.js"></script> 
    43       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/base.js"></script> 
    44       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracsectionedit/js/tracsectionedit.js"></script> 
    45       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/superfish.js"></script> 
    46       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/tracmenus.js"></script> 
    47       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/jquery.hoverIntent.minified.js"></script> 
    48       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/bookmark/js/tracbookmark.js"></script> 
    49       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/datasaver/datasaver.js"></script> 
    50     <script type="text/javascript" src="/nemo/chrome/common/js/folding.js"></script> 
    51     <script type="text/javascript"> 
    52       jQuery(document).ready(function($) { 
    53         $(".trac-toggledeleted").show().click(function() { 
    54                   $(this).siblings().find(".trac-deleted").toggle(); 
    55                   return false; 
    56         }).click(); 
    57         $("#jumploc input").hide(); 
    58         $("#jumploc select").change(function () { 
    59           this.parentNode.parentNode.submit(); 
    60         }); 
    61           $('#preview table.code').enableCollapsibleColumns($('#preview table.code thead th.content')); 
    62       }); 
    63     </script> 
    64            <link rel="stylesheet" type="text/css" href="/nemo/chrome/site/style.css" /> 
    65    </head> 
    66   <body> 
    67       <div id="siteheader"> 
    68          <!--<img src="${href.chrome('site/NEMO_logo.png)}" height="60" width="189" alt="NEMO Ocean Modeling Framework" />--> 
    69            </div> 
    70     <div id="banner"> 
    71       <div id="header"> 
    72         <a id="logo" href="http://forge.ipsl.jussieu.fr/nemo/wiki/Home"><img src="/nemo/chrome/site/banner_huge_728x90.png" alt="NEMO Ocean Modeling Framework" /></a> 
    73       </div> 
    74       <form id="search" action="/nemo/search" method="get"> 
    75         <div> 
    76           <label for="proj-search">Search:</label> 
    77           <input type="text" id="proj-search" name="q" size="18" value="" /> 
    78           <input type="submit" value="Search" /> 
    79         </div> 
    80       </form> 
    81       <div id="metanav" class="nav"> 
    82     <ul> 
    83       <li class="first">logged in as jcastill</li><li><a href="/nemo/logout">Logout</a></li><li><a href="/nemo/prefs">Preferences</a></li><li><a href="/nemo/notification" title="Wiki Pages Change Notifications">My Notifications</a></li><li class="last"><a href="/nemo/wiki/EditorGuide">Help/Guide</a></li> 
    84     </ul><ul class="nav" id="breadcrumbs"><li>Last browsed pages:</li><li class="first"><a href="/nemo/wiki/Developers/WorkingPractices" title="Developers/Working Practices">Developers/Working Practices</a></li><li><a href="/nemo/wiki/2016WP/WAVE-3_JuanCastillo" title="2016WP/WAVE-3_Juan Castillo">2016WP/WAVE-3_Juan Castillo</a></li><li><a href="/nemo/wiki/Agenda/ST/2016-11-30" title="Agenda/ST/2016-11-30">Agenda/ST/2016-11-30</a></li><li><a href="/nemo/ticket/1598" title="Bug: bug fix in fld_clopn for week case (closed: fixed)">#1598</a></li><li><a href="/nemo/ticket/1592" title="Bug: bug if nn_isf &gt; 0 and key_vvl (ISF related) (closed: fixed)">#1592</a></li><li class="last"><a href="/nemo/ticket/1574" title="Bug: Unitialised values in namobs namelist (closed: fixed)">#1574</a></li></ul> 
    85   </div> 
    86     </div> 
    87     <div id="mainnav" class="nav"> 
    88     <ul> 
    89       <li class="first"><a href="/nemo/wiki">Wiki</a><ul><li><a href="/nemo/wiki/WorkingGroups">Working Groups</a></li><li><a href="#">Work Plan</a><ul><li><a href="/nemo/wiki/2017WP">2017</a></li><li><a href="#">2016</a><ul><li><a href="/nemo/wiki/2016WP">Summary</a></li><li><a href="/nemo/wiki/2016WP/2016SharedActions">Shared Actions</a></li></ul></li><li><a href="/nemo/wiki/2999WP">Previous</a></li></ul></li></ul></li><li><a href="#">Code</a><ul><li><a href="#">Browse</a><ul><li><a href="/nemo/browser">Repository root</a></li><li><a href="/nemo/browser/branches/2016">Branches/2016</a></li><li><a href="/nemo/browser/branches/2015/nemo_v3_6_STABLE/NEMOGCM">3.6 Release</a></li><li><a href="/nemo/browser/trunk/NEMOGCM">Trunk</a></li></ul></li><li><a href="https://pagesperso.locean-ipsl.upmc.fr/ntmlod/trusting">Trusting Results</a></li></ul></li><li><a href="/nemo/report">Tickets</a><ul><li><a href="/nemo/report/1">Active Tickets</a></li><li><a href="/nemo/newticket">Create New Ticket</a></li><li><a href="/nemo/query">Custom Query</a></li></ul></li><li><a href="/nemo/timeline?changeset=on&amp;discussion=on&amp;tags=on&amp;ticket=on&amp;ticket_details=on&amp;wiki=on">Timeline</a><ul><li><a href="/nemo/timeline?ticket=on&amp;ticket_details=on">Tickets Events</a></li><li><a href="/nemo/timeline?changeset=on">Last Commits</a></li><li><a href="/nemo/timeline?wiki=on">Wiki Updates</a></li></ul></li><li><a href="/nemo/tags">Tags</a></li><li><a href="/nemo/me">My Page</a></li><li><a href="#">Web Doc.</a><ul><li><a href="/nemo/doxygen">Reference Manuals</a></li><li><a href="/nemo/wiki/Bibliography">Bibliography</a></li></ul></li><li><a href="#">Users</a><ul><li><a href="/nemo/discussion">Forum</a></li><li><a href="/nemo/wiki/Users/2016NEMO_UsersMeeting">2016 Users Meeting</a></li><li><a href="#">IS-ENES</a><ul><li><a href="/nemo/wiki/core2_cmip">Core II CMIP</a></li><li><a href="/nemo/wiki/NEMOConfigurationDataBase">Config DB</a></li></ul></li></ul></li><li><a href="#">Dev. Plan</a><ul><li><a href="/nemo/roadmap">Roadmap</a></li><li><a href="/nemo/versions">Versions</a></li><li><a href="/nemo/peerreviewmain">Peer Review</a></li></ul></li><li><a href="/nemo/wiki/SysTeam">System Team</a><ul><li><a href="#">Working</a><ul><li><a href="/nemo/wiki/Developers/WorkingPractices">Practices</a></li><li><a href="/nemo/wiki/Developers/WorkingFAQ">FAQ</a></li></ul></li><li><a href="/nemo/wiki/Agenda/ST">Agenda</a></li><li><a href="/nemo/wiki/EditorGuide">Wiki Editing</a><ul><li><a href="/nemo/admin/general/wikireplace">Search &amp; Replace</a></li><li><a href="/nemo/wiki/WikiNewPage">Create Page</a></li></ul></li></ul></li><li class="last"><a href="http://www.nemo-ocean.eu">www.nemo-ocean.eu</a></li> 
    90     </ul> 
    91   </div> 
    92     <div id="main"> 
    93       <div id="ctxtnav" class="nav"> 
    94         <h2>Context Navigation</h2> 
    95         <ul> 
    96           <li class="first"><a class="bookmark_off" data-list="/nemo/bookmark" href="/nemo/bookmark/add/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90%3Frev%3D7120" id="bookmark_this" title="Bookmark this page">​</a></li><li><span class="missing">&larr; Previous Revision</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90">Latest Revision</a></li><li><span class="missing">Next Revision &rarr;</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?annotate=blame&amp;rev=7120" title="Annotate each line with the last changed revision (this can be time consuming...)">Blame</a></li><li><a href="/nemo/log/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120">Revision Log</a></li><li><span id="bookmark_menu"><a href="/nemo/bookmark">Bookmarks</a><ul></ul></span></li><li><a href="/nemo/revtree">Revtree</a></li><li class="last"><a href="javascript:datasaver_restore()" id="datasaver_restorer">Restore Form</a></li> 
    97         </ul> 
    98         <hr /> 
    99       </div> 
    100     <div id="content" class="browser"> 
    101         <h1> 
    102            
    103 <a class="pathentry first" href="/nemo/browser?rev=7120&amp;order=name" title="Go to repository root">source:</a> 
    104 <a class="pathentry" href="/nemo/browser/branches?rev=7120&amp;order=name" title="View branches">branches</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO?rev=7120&amp;order=name" title="View UKMO">UKMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl?rev=7120&amp;order=name" title="View r5936_CO6_CO5_zenv_pomsdwl">r5936_CO6_CO5_zenv_pomsdwl</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM?rev=7120&amp;order=name" title="View NEMOGCM">NEMOGCM</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO?rev=7120&amp;order=name" title="View NEMO">NEMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC?rev=7120&amp;order=name" title="View OPA_SRC">OPA_SRC</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC?rev=7120&amp;order=name" title="View SBC">SBC</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120&amp;order=name" title="View inv_bar_vel_mod.F90">inv_bar_vel_mod.F90</a> 
    105 <span class="pathentry sep">@</span> 
    106   <a class="pathentry" href="/nemo/changeset/7120/" title="View changeset 7120">7120</a> 
    107 <br style="clear: both" /> 
    108  
    109         </h1> 
    110         <div id="diffrev"> 
    111           <form action="/nemo/changeset" method="get"> 
    112             <div> 
    113               <label title="Show the diff against a specific revision"> 
    114                 View diff against: <input type="text" name="old" size="6" /> 
    115                 <input type="hidden" name="old_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 
    116                 <input type="hidden" name="new" value="7120" /> 
    117                 <input type="hidden" name="new_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 
    118               </label> 
    119             </div> 
    120           </form> 
    121         </div> 
    122         <div id="jumprev"> 
    123           <form action="" method="get"> 
    124             <div> 
    125               <label for="rev" title="Hint: clear the field to view latest revision"> 
    126                 View revision:</label> 
    127               <input type="text" id="rev" name="rev" value="7120" size="6" /> 
    128             </div> 
    129           </form> 
    130         </div> 
    131         <div id="jumploc"> 
    132           <form action="" method="get"> 
    133             <div class="buttons"> 
    134               <label for="preselected">Visit:</label> 
    135               <select id="preselected" name="preselected"> 
    136                 <option selected="selected"></option> 
    137                 <optgroup label="branches"> 
    138                   <option value="/nemo/browser/trunk">trunk</option><option value="/nemo/browser/branches/2015/dev_5894_INGV_WAVE">branches/2015/dev_5894_INGV_WAVE</option><option value="/nemo/browser/branches/2015/dev_5974_MERCATOR10_LIMINI">branches/2015/dev_5974_MERCATOR10_LIMINI</option><option value="/nemo/browser/branches/2015/dev_agrif_v3_6_STABLE">branches/2015/dev_agrif_v3_6_STABLE</option><option value="/nemo/browser/branches/2015/dev_CMCC_merge_2015">branches/2015/dev_CMCC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_merge_2015">branches/2015/dev_merge_2015</option><option value="/nemo/browser/branches/2015/dev_MetOffice_merge_2015">branches/2015/dev_MetOffice_merge_2015</option><option value="/nemo/browser/branches/2015/dev_NOC_merge_2015">branches/2015/dev_NOC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_r4826_NOC_WAD">branches/2015/dev_r4826_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r4999_CNRS9_NOC3_LDF">branches/2015/dev_r4999_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5003_MERCATOR6_CRS">branches/2015/dev_r5003_MERCATOR6_CRS</option><option value="/nemo/browser/branches/2015/dev_r5020_CNRS_DIAPTR">branches/2015/dev_r5020_CNRS_DIAPTR</option><option value="/nemo/browser/branches/2015/dev_r5021_UKMO1_CICE_coupling">branches/2015/dev_r5021_UKMO1_CICE_coupling</option><option value="/nemo/browser/branches/2015/dev_r5040_CMCC5_BDY_for_TOP">branches/2015/dev_r5040_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5044_CNRS_LIM3CLEAN">branches/2015/dev_r5044_CNRS_LIM3CLEAN</option><option value="/nemo/browser/branches/2015/dev_r5056_CMCC4_simplification">branches/2015/dev_r5056_CMCC4_simplification</option><option value="/nemo/browser/branches/2015/dev_r5072_UKMO2_OBS_simplification">branches/2015/dev_r5072_UKMO2_OBS_simplification</option><option value="/nemo/browser/branches/2015/dev_r5087_NOC2_JATTR">branches/2015/dev_r5087_NOC2_JATTR</option><option value="/nemo/browser/branches/2015/dev_r5092_CNRS18_TRUST">branches/2015/dev_r5092_CNRS18_TRUST</option><option value="/nemo/browser/branches/2015/dev_r5094_UKMO_ISFCLEAN">branches/2015/dev_r5094_UKMO_ISFCLEAN</option><option value="/nemo/browser/branches/2015/dev_r5102_CNRS11_TestCase">branches/2015/dev_r5102_CNRS11_TestCase</option><option value="/nemo/browser/branches/2015/dev_r5138_CNRS_PISCES_dcy">branches/2015/dev_r5138_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5144_CMCC5_BDY_for_TOP">branches/2015/dev_r5144_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5151_UKMO_ISF">branches/2015/dev_r5151_UKMO_ISF</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_CMIP6out">branches/2015/dev_r5171_CNRS_LIM3_CMIP6out</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_ice_atm">branches/2015/dev_r5171_CNRS_LIM3_ice_atm</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_meltponds">branches/2015/dev_r5171_CNRS_LIM3_meltponds</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_seaicebgc">branches/2015/dev_r5171_CNRS_LIM3_seaicebgc</option><option value="/nemo/browser/branches/2015/dev_r5177_CNRS4_stopar">branches/2015/dev_r5177_CNRS4_stopar</option><option value="/nemo/browser/branches/2015/dev_r5187_UKMO13_simplification">branches/2015/dev_r5187_UKMO13_simplification</option><option value="/nemo/browser/branches/2015/dev_r5204_CNRS_PISCES_dcy">branches/2015/dev_r5204_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5218_CNRS17_coupling">branches/2015/dev_r5218_CNRS17_coupling</option><option value="/nemo/browser/branches/2015/dev_r5224_CNRS_OPA_Hollingsworth">branches/2015/dev_r5224_CNRS_OPA_Hollingsworth</option><option value="/nemo/browser/branches/2015/dev_r5302_CNRS18_HPC_scalability">branches/2015/dev_r5302_CNRS18_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5546_CNRS19_HPC_scalability">branches/2015/dev_r5546_CNRS19_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5656_Met_Office_3_diurnalSST">branches/2015/dev_r5656_Met_Office_3_diurnalSST</option><option value="/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF">branches/2015/dev_r5721_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs">branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs</option><option value="/nemo/browser/branches/2015/dev_r5786_CNRS9_NOC3_ZDF">branches/2015/dev_r5786_CNRS9_NOC3_ZDF</option><option value="/nemo/browser/branches/2015/dev_r5803_NOC_WAD">branches/2015/dev_r5803_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp">branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp</option><option value="/nemo/browser/branches/2015/dev_r5836_NOC3_vvl_by_default">branches/2015/dev_r5836_NOC3_vvl_by_default</option><option value="/nemo/browser/branches/2015/dev_r5847_MERCATOR9_solveur_simplification">branches/2015/dev_r5847_MERCATOR9_solveur_simplification</option><option value="/nemo/browser/branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2">branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2</option><option value="/nemo/browser/branches/2015/dev_r5936_INGV1_WAVE">branches/2015/dev_r5936_INGV1_WAVE</option><option value="/nemo/browser/branches/2015/dev_r6287_ZDFTMX_new">branches/2015/dev_r6287_ZDFTMX_new</option><option value="/nemo/browser/branches/2015/dev_r6946_Offline_vvl">branches/2015/dev_r6946_Offline_vvl</option><option value="/nemo/browser/branches/2015/nemo_v3_6_STABLE">branches/2015/nemo_v3_6_STABLE</option><option value="/nemo/browser/branches/2016/dev_CMCC_2016">branches/2016/dev_CMCC_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_2016">branches/2016/dev_CNRS_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_AGRIF_2016">branches/2016/dev_CNRS_AGRIF_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_MERCATOR_2016">branches/2016/dev_CNRS_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_HPC_Gyre_benchmark_test">branches/2016/dev_HPC_Gyre_benchmark_test</option><option value="/nemo/browser/branches/2016/dev_INGV_METO_merge_2016">branches/2016/dev_INGV_METO_merge_2016</option><option value="/nemo/browser/branches/2016/dev_INGV_UKMO_2016">branches/2016/dev_INGV_UKMO_2016</option><option value="/nemo/browser/branches/2016/dev_MERCATOR_2016">branches/2016/dev_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_merge_2016">branches/2016/dev_merge_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_2016">branches/2016/dev_NOC_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_CMCC_merge_2016">branches/2016/dev_NOC_CMCC_merge_2016</option><option value="/nemo/browser/branches/2016/dev_r6325_SIMPLIF_1">branches/2016/dev_r6325_SIMPLIF_1</option><option value="/nemo/browser/branches/2016/dev_r6381_SIMPLIF_5">branches/2016/dev_r6381_SIMPLIF_5</option><option value="/nemo/browser/branches/2016/dev_r6393_NOC_WAD">branches/2016/dev_r6393_NOC_WAD</option><option value="/nemo/browser/branches/2016/dev_r6409_SIMPLIF_2_usrdef">branches/2016/dev_r6409_SIMPLIF_2_usrdef</option><option value="/nemo/browser/branches/2016/dev_r6519_HPC_4">branches/2016/dev_r6519_HPC_4</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_3">branches/2016/dev_r6522_SIMPLIF_3</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_4">branches/2016/dev_r6522_SIMPLIF_4</option><option value="/nemo/browser/branches/2016/dev_r6711_SIMPLIF_6_aerobulk">branches/2016/dev_r6711_SIMPLIF_6_aerobulk</option><option value="/nemo/browser/branches/2016/dev_r6738_METO_5">branches/2016/dev_r6738_METO_5</option><option value="/nemo/browser/branches/2016/dev_r6771_AGRIF_3_AGRIFVVL">branches/2016/dev_r6771_AGRIF_3_AGRIFVVL</option><option value="/nemo/browser/branches/2016/dev_r6859_LIM3_meltponds">branches/2016/dev_r6859_LIM3_meltponds</option><option value="/nemo/browser/branches/2016/dev_r6999_CONFIGMAN_1">branches/2016/dev_r6999_CONFIGMAN_1</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CMCC">branches/2016/dev_r7012_ROBUST5_CMCC</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CNRS">branches/2016/dev_r7012_ROBUST5_CNRS</option><option value="/nemo/browser/branches/2016/dev_r7161_trunk_XIOS2">branches/2016/dev_r7161_trunk_XIOS2</option><option value="/nemo/browser/branches/2016/dev_r7233_CMIP6_diags_trunk_version">branches/2016/dev_r7233_CMIP6_diags_trunk_version</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_OMP">branches/2016/dev_v3_6_STABLE_OMP</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3">branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3</option> 
    139                 </optgroup> 
    140               </select> 
    141               <input type="submit" value="Go!" title="Jump to the chosen preselected path" /> 
    142             </div> 
    143           </form> 
    144         </div> 
    145         <div class="trac-tags"> 
    146         </div> 
    147       <table id="info" summary="Revision info"> 
    148         <tr> 
    149           <th><img height="40" width="40" src="/nemo/raw-attachment/wiki/UserManagerPluginPictures/jcastill_Work_in_progress.png" class="userpictures_avatar browser-filesource" /> 
    150                 <a href="/nemo/changeset/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" title="View differences">Last change</a> 
    151                   on this file since 7120 was 
    152                   <a href="/nemo/changeset/7120/" title="View changeset 7120">7120</a>, 
    153                   checked in by <span class="usernamedecorate" title="jcastill - Juan Castillo &lt;juan.m.castillo@metoffice.gov.uk&gt;">Juan Castillo</span>, <a class="timeline" href="/nemo/timeline?from=2016-10-26T18%3A28%3A31%2B02%3A00&amp;precision=second" title="See timeline at 10/26/16 18:28:31">6 weeks ago</a> 
    154           </th> 
    155         </tr> 
    156         <tr> 
    157           <td class="message searchable"> 
    158               <p> 
    159 Changes as in branch UKMO/2015_V36_STABLE_CO6_CO5_zenv_pomsdwl@5793<br /> 
    160 </p> 
    161           </td> 
    162         </tr> 
    163         <tr><td colspan="2"> 
    164             <strong>File size:</strong> 
    165             <span title="1030 bytes">1.0 KB</span> 
    166           </td></tr> 
    167       </table> 
    168       <div id="preview" class="searchable"> 
    169          
    170   <table class="code"><thead><tr><th class="lineno" title="Line numbers">Line</th><th class="content"> </th></tr></thead><tbody><tr><th id="L1"><a href="javascript:setLineNum(1)">1</a></th><td><span class="k">MODULE </span><span class="nv">inv_bar_vel_mod</span></td></tr><tr><th id="L2"><a href="javascript:setLineNum(2)">2</a></th><td></td></tr><tr><th id="L3"><a href="javascript:setLineNum(3)">3</a></th><td><span class="c">!! Modules used</span></td></tr><tr><th id="L4"><a href="javascript:setLineNum(4)">4</a></th><td><span class="c"></span>  <span class="k">USE </span><span class="nv">oce</span></td></tr><tr><th id="L5"><a href="javascript:setLineNum(5)">5</a></th><td>  <span class="k">USE </span><span class="nv">dom_oce</span></td></tr><tr><th id="L6"><a href="javascript:setLineNum(6)">6</a></th><td>  <span class="k">USE </span><span class="nv">sbcflx</span></td></tr><tr><th id="L7"><a href="javascript:setLineNum(7)">7</a></th><td>  <span class="k">USE </span><span class="nv">sbc_oce</span></td></tr><tr><th id="L8"><a href="javascript:setLineNum(8)">8</a></th><td></td></tr><tr><th id="L9"><a href="javascript:setLineNum(9)">9</a></th><td><span class="c">!  REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv  !Pres grad force u and v component</span></td></tr><tr><th id="L10"><a href="javascript:setLineNum(10)">10</a></th><td><span class="c"></span>  <span class="k">PUBLIC </span><span class="nv">inv</span></td></tr><tr><th id="L11"><a href="javascript:setLineNum(11)">11</a></th><td></td></tr><tr><th id="L12"><a href="javascript:setLineNum(12)">12</a></th><td><span class="k">CONTAINS</span></td></tr><tr><th id="L13"><a href="javascript:setLineNum(13)">13</a></th><td><span class="k"></span></td></tr><tr><th id="L14"><a href="javascript:setLineNum(14)">14</a></th><td><span class="k">  SUBROUTINE </span><span class="nv">inv</span><span class="p">(</span><span class="nv">kt</span><span class="p">)</span></td></tr><tr><th id="L15"><a href="javascript:setLineNum(15)">15</a></th><td>  <span class="k">USE </span><span class="nv">oce</span></td></tr><tr><th id="L16"><a href="javascript:setLineNum(16)">16</a></th><td>  <span class="k">USE </span><span class="nv">dom_oce</span></td></tr><tr><th id="L17"><a href="javascript:setLineNum(17)">17</a></th><td>  <span class="k">USE </span><span class="nv">sbcflx</span></td></tr><tr><th id="L18"><a href="javascript:setLineNum(18)">18</a></th><td>  <span class="k">USE </span><span class="nv">sbc_oce</span></td></tr><tr><th id="L19"><a href="javascript:setLineNum(19)">19</a></th><td></td></tr><tr><th id="L20"><a href="javascript:setLineNum(20)">20</a></th><td>  <span class="kt">INTEGER</span><span class="p">,</span> <span class="k">INTENT</span> <span class="p">(</span> <span class="nv">in</span> <span class="p">)</span> <span class="kd">::</span> <span class="nv">kt</span> <span class="c">! ocean time step</span></td></tr><tr><th id="L21"><a href="javascript:setLineNum(21)">21</a></th><td><span class="c"></span></td></tr><tr><th id="L22"><a href="javascript:setLineNum(22)">22</a></th><td><span class="c">!  REAL(wp), INTENT(in, out) :: ua,va</span></td></tr><tr><th id="L23"><a href="javascript:setLineNum(23)">23</a></th><td><span class="c">!  REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv  !Pres grad force u and v component</span></td></tr><tr><th id="L24"><a href="javascript:setLineNum(24)">24</a></th><td><span class="c"></span>  </td></tr><tr><th id="L25"><a href="javascript:setLineNum(25)">25</a></th><td><span class="c">!  IF ( ln_shelf_flx ) then</span></td></tr><tr><th id="L26"><a href="javascript:setLineNum(26)">26</a></th><td><span class="c">! Adjust the velocity</span></td></tr><tr><th id="L27"><a href="javascript:setLineNum(27)">27</a></th><td><span class="c">!  write(10,*)'kt = ', kt</span></td></tr><tr><th id="L28"><a href="javascript:setLineNum(28)">28</a></th><td><span class="c"></span></td></tr><tr><th id="L29"><a href="javascript:setLineNum(29)">29</a></th><td>  <span class="k">Do </span><span class="nv">jk</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="nv">jpk</span></td></tr><tr><th id="L30"><a href="javascript:setLineNum(30)">30</a></th><td>   <span class="k">Do </span><span class="nv">jj</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="nv">jpj</span> <span class="c">!should this be jpjm1 because the apgu and apgv were calcd with jpjm1?</span></td></tr><tr><th id="L31"><a href="javascript:setLineNum(31)">31</a></th><td><span class="c"></span>     <span class="k">Do </span><span class="nv">ji</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="nv">jpi</span></td></tr><tr><th id="L32"><a href="javascript:setLineNum(32)">32</a></th><td><span class="c">!  Do jk = 1, jpk-1</span></td></tr><tr><th id="L33"><a href="javascript:setLineNum(33)">33</a></th><td><span class="c">!   Do jj = 2, jpj-1 !should this be jpjm1 because the apgu and apgv were calcd with jpjm1?</span></td></tr><tr><th id="L34"><a href="javascript:setLineNum(34)">34</a></th><td><span class="c">!     Do ji = 2, jpi-1</span></td></tr><tr><th id="L35"><a href="javascript:setLineNum(35)">35</a></th><td><span class="c"></span>       <span class="nv">ua</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">=</span> <span class="nv">ua</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">+</span> <span class="nv">apgu</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span></td></tr><tr><th id="L36"><a href="javascript:setLineNum(36)">36</a></th><td>       <span class="nv">va</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">=</span> <span class="nv">va</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">+</span> <span class="nv">apgv</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span></td></tr><tr><th id="L37"><a href="javascript:setLineNum(37)">37</a></th><td><span class="c">!       write(10,*)ua(ji,jj,jk)</span></td></tr><tr><th id="L38"><a href="javascript:setLineNum(38)">38</a></th><td><span class="c">!       write(11,*)va(ji,jj,jk)</span></td></tr><tr><th id="L39"><a href="javascript:setLineNum(39)">39</a></th><td><span class="c"></span>     <span class="k">End do</span></td></tr><tr><th id="L40"><a href="javascript:setLineNum(40)">40</a></th><td><span class="k">   End do</span></td></tr><tr><th id="L41"><a href="javascript:setLineNum(41)">41</a></th><td><span class="k">  End do</span></td></tr><tr><th id="L42"><a href="javascript:setLineNum(42)">42</a></th><td><span class="c">!  ENDIF</span></td></tr><tr><th id="L43"><a href="javascript:setLineNum(43)">43</a></th><td><span class="c"></span><span class="k">END SUBROUTINE </span><span class="nv">inv</span></td></tr><tr><th id="L44"><a href="javascript:setLineNum(44)">44</a></th><td><span class="k">END MODULE </span><span class="nv">inv_bar_vel_mod</span></td></tr></tbody></table> 
    171  
    172       </div> 
    173       <div id="anydiff"> 
    174         <form action="/nemo/diff" method="get"> 
    175           <div class="buttons"> 
    176             <input type="hidden" name="new_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 
    177             <input type="hidden" name="old_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 
    178             <input type="hidden" name="new_rev" value="7120" /> 
    179             <input type="hidden" name="old_rev" value="7120" /> 
    180             <input type="submit" value="View changes..." title="Select paths and revs for Diff" /> 
    181           </div> 
    182         </form> 
    183       </div> 
    184       <div id="help"><strong>Note:</strong> See <a href="/nemo/wiki/TracBrowser">TracBrowser</a> 
    185         for help on using the repository browser.</div> 
    186     </div> 
    187     <div id="altlinks"> 
    188       <h3>Download in other formats:</h3> 
    189       <ul> 
    190         <li class="first"> 
    191           <a rel="nofollow" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120&amp;format=txt">Plain Text</a> 
    192         </li><li class="last"> 
    193           <a rel="nofollow" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90">Original Format</a> 
    194         </li> 
    195       </ul> 
    196     </div> 
    197     </div> 
    198     <div id="footer" lang="en" xml:lang="en"><hr /> 
    199       <a id="tracpowered" href="http://trac.edgewall.org/"><img src="/nemo/chrome/common/trac_logo_mini.png" height="30" width="107" alt="Trac Powered" /></a> 
    200       <p class="left">Powered by <a href="/nemo/about"><strong>Trac 1.0.1</strong></a><br /> 
    201         By <a href="http://www.edgewall.org/">Edgewall Software</a>.</p> 
    202       <p class="right">Visit the <b><a href="http://www.nemo-ocean.eu">NEMO website</a></b></p> 
    203     </div> 
    204       <div id="sitefooter"> 
    205       </div> 
    206    </body> 
    207 </html> 
     29  Do jk = 1, jpk 
     30   Do jj = 1, jpj !should this be jpjm1 because the apgu and apgv were calcd with jpjm1? 
     31     Do ji = 1, jpi 
     32!  Do jk = 1, jpk-1 
     33!   Do jj = 2, jpj-1 !should this be jpjm1 because the apgu and apgv were calcd with jpjm1? 
     34!     Do ji = 2, jpi-1 
     35       ua(ji,jj,jk) = ua(ji,jj,jk) + apgu(ji,jj) 
     36       va(ji,jj,jk) = va(ji,jj,jk) + apgv(ji,jj) 
     37!       write(10,*)ua(ji,jj,jk) 
     38!       write(11,*)va(ji,jj,jk) 
     39     End do 
     40   End do 
     41  End do 
     42!  ENDIF 
     43END SUBROUTINE inv 
     44END MODULE inv_bar_vel_mod 
  • branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r7452 r7454  
    121121   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   sprecip           !: solid precipitation                          [Kg/m2/s] 
    122122   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   fr_i              !: ice fraction = 1 - lead fraction      (between 0 to 1) 
    123    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   pressnow          !: UKMO SHELF pressure   
    124    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   apgu              !: UKMO SHELF pressure forcing   
    125    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   apgv              !: UKMO SHELF pressure forcing   
     123   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   pressnow          !: UKMO SHELF pressure 
     124   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   apgu              !: UKMO SHELF pressure forcing 
     125   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   apgv              !: UKMO SHELF pressure forcing 
    126126#if defined key_cpl_carbon_cycle 
    127127   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   atm_co2           !: atmospheric pCO2                             [ppm] 
     
    174174#endif 
    175175         &      ssu_m  (jpi,jpj) , sst_m(jpi,jpj) , frq_m(jpi,jpj) ,      & 
    176          &      pressnow(jpi,jpj), apgu(jpi,jpj)    , apgv(jpi,jpj) ,     &  
     176         &      pressnow(jpi,jpj), apgu(jpi,jpj)    , apgv(jpi,jpj) ,     & 
    177177         &      ssv_m  (jpi,jpj) , sss_m(jpi,jpj) , ssh_m(jpi,jpj) , STAT=ierr(4) ) 
    178178         ! 
  • branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90

    r7452 r7454  
    3434   INTEGER , PARAMETER ::   jp_qsr  = 4   ! index of solar heat file 
    3535   INTEGER , PARAMETER ::   jp_emp  = 5   ! index of evaporation-precipation file 
    36    INTEGER , PARAMETER ::   jpfld   = 6   ! maximum number of files to read 
     36   INTEGER , PARAMETER ::   jp_press = 6  ! index of pressure for UKMO shelf fluxes 
    3737   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf    ! structure of input fields (file informations, fields read) 
    38    LOGICAL , PUBLIC    ::   ln_shelf_flx = .FALSE. ! UKMO SHELF specific flux flag   
     38   LOGICAL , PUBLIC    ::   ln_shelf_flx = .FALSE. ! UKMO SHELF specific flux flag 
    3939   INTEGER             ::   jpfld_local   ! maximum number of files to read (locally modified depending on ln_shelf_flx)  
    4040 
     
    8585      REAL(wp) ::   zcdrag = 1.5e-3       ! drag coefficient 
    8686      REAL(wp) ::   ztx, zty, zmod, zcoef ! temporary variables 
    87       REAL     ::   cs                    ! UKMO SHELF: Friction co-efficient at surface   
    88       REAL     ::   totwindspd            ! UKMO SHELF: Magnitude of wind speed vector   
    89              
    90       REAL(wp) ::   rhoa  = 1.22          ! Air density kg/m3   
    91       REAL(wp) ::   cdrag = 1.5e-3        ! drag coefficient  
     87      REAL     ::   cs                    ! UKMO SHELF: Friction co-efficient at surface 
     88      REAL     ::   totwindspd            ! UKMO SHELF: Magnitude of wind speed vector 
     89 
     90      REAL(wp) ::   rhoa  = 1.22         ! Air density kg/m3 
     91      REAL(wp) ::   cdrag = 1.5e-3       ! drag coefficient  
    9292      !! 
    9393      CHARACTER(len=100) ::  cn_dir                               ! Root directory for location of flx files 
    9494      TYPE(FLD_N), DIMENSION(jpfld) ::   slf_i                    ! array of namelist information structures 
    95       TYPE(FLD_N) ::   sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp, sn_press  !  informations about the fields to be read   
    96       LOGICAL     ::   ln_foam_flx  = .FALSE.                     ! UKMO FOAM specific flux flag   
    97       NAMELIST/namsbc_flx/ cn_dir, sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp,   &   
    98       &                    ln_foam_flx, sn_press, ln_shelf_flx   
     95      TYPE(FLD_N) ::   sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp, sn_press  !  informations about the fields to be read 
     96      LOGICAL     ::   ln_foam_flx  = .FALSE.                     ! UKMO FOAM specific flux flag 
     97      NAMELIST/namsbc_flx/ cn_dir, sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp,   & 
     98      &                    ln_foam_flx, sn_press, ln_shelf_flx 
    9999      !!--------------------------------------------------------------------- 
    100100      ! 
     
    119119         slf_i(jp_emp ) = sn_emp 
    120120         ! 
    121          ALLOCATE( sf(jpfld), STAT=ierror )        ! set sf structure 
    122          IF( ln_shelf_flx ) slf_i(jp_press) = sn_press   
    123           
    124          ! define local jpfld depending on shelf_flx logical   
    125          IF( ln_shelf_flx ) THEN   
    126             jpfld_local = jpfld   
    127          ELSE   
    128             jpfld_local = jpfld-1   
    129          ENDIF   
    130           
     121            ALLOCATE( sf(jpfld), STAT=ierror )        ! set sf structure 
     122            IF( ln_shelf_flx ) slf_i(jp_press) = sn_press 
     123    
     124            ! define local jpfld depending on shelf_flx logical 
     125            IF( ln_shelf_flx ) THEN 
     126               jpfld_local = jpfld 
     127            ELSE 
     128               jpfld_local = jpfld-1 
     129            ENDIF 
     130            ! 
    131131         IF( ierror > 0 ) THEN    
    132132            CALL ctl_stop( 'sbc_flx: unable to allocate sf structure' )   ;   RETURN   
     
    150150         ELSE                  ;   qsr(:,:) =          sf(jp_qsr)%fnow(:,:,1) 
    151151         ENDIF 
    152          !!UKMO SHELF effect of atmospheric pressure on SSH   
    153          ! If using ln_apr_dyn, this is done there so don't repeat here.   
    154          IF( ln_shelf_flx .AND. .NOT. ln_apr_dyn) THEN   
    155             DO jj = 1, jpjm1   
    156                DO ji = 1, jpim1   
    157                   apgu(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji+1,jj,1)-sf(jp_press)%fnow(ji,jj,1))/e1u(ji,jj)   
    158                   apgv(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji,jj+1,1)-sf(jp_press)%fnow(ji,jj,1))/e2v(ji,jj)   
    159                END DO   
    160             END DO   
    161          ENDIF ! ln_shelf_flx   
    162  
    163152!CDIR COLLAPSE 
     153            !!UKMO SHELF effect of atmospheric pressure on SSH 
     154            ! If using ln_apr_dyn, this is done there so don't repeat here. 
     155            IF( ln_shelf_flx .AND. .NOT. ln_apr_dyn) THEN 
     156               DO jj = 1, jpjm1 
     157                  DO ji = 1, jpim1 
     158                     apgu(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji+1,jj,1)-sf(jp_press)%fnow(ji,jj,1))/e1u(ji,jj) 
     159                     apgv(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji,jj+1,1)-sf(jp_press)%fnow(ji,jj,1))/e2v(ji,jj) 
     160                  END DO 
     161               END DO 
     162            ENDIF ! ln_shelf_flx 
     163       
    164164         DO jj = 1, jpj                                           ! set the ocean fluxes from read fields 
    165165            DO ji = 1, jpi 
    166                IF( ln_shelf_flx ) THEN   
    167                   !! UKMO SHELF - need atmospheric pressure to calculate Haney forcing   
    168                   pressnow(ji,jj) = sf(jp_press)%fnow(ji,jj,1)   
    169                   !! UKMO SHELF flux files contain wind speed not wind stress   
    170                   totwindspd = sqrt((sf(jp_utau)%fnow(ji,jj,1))**2.0 + (sf(jp_vtau)%fnow(ji,jj,1))**2.0)   
    171                   cs = 0.63 + (0.066 * totwindspd)   
    172                   utau(ji,jj) = cs * (rhoa/rau0) * sf(jp_utau)%fnow(ji,jj,1) * totwindspd   
    173                   vtau(ji,jj) = cs * (rhoa/rau0) * sf(jp_vtau)%fnow(ji,jj,1) * totwindspd   
    174                ELSE   
    175                   utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1)   
    176                   vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1)   
    177                ENDIF   
    178                qsr (ji,jj) = sf(jp_qsr )%fnow(ji,jj,1)   
    179                IF( ln_foam_flx .OR. ln_shelf_flx ) THEN   
    180                   !! UKMO FOAM flux files contain non-solar heat flux (qns) rather than total heat flux (qtot)   
    181                   qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1)   
    182                   !! UKMO FOAM flux files contain the net DOWNWARD freshwater flux P-E rather then E-P   
    183                   emp (ji,jj) = -1. * sf(jp_emp)%fnow(ji,jj,1)   
    184                ELSE   
    185                   qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1)   
    186                   emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1)   
    187                ENDIF   
     166                   IF( ln_shelf_flx ) THEN 
     167                      !! UKMO SHELF - need atmospheric pressure to calculate Haney forcing 
     168                      pressnow(ji,jj) = sf(jp_press)%fnow(ji,jj,1) 
     169                      !! UKMO SHELF flux files contain wind speed not wind stress 
     170                      totwindspd = sqrt((sf(jp_utau)%fnow(ji,jj,1))**2.0 + (sf(jp_vtau)%fnow(ji,jj,1))**2.0) 
     171                      cs = 0.63 + (0.066 * totwindspd) 
     172                      utau(ji,jj) = cs * (rhoa/rau0) * sf(jp_utau)%fnow(ji,jj,1) * totwindspd 
     173                      vtau(ji,jj) = cs * (rhoa/rau0) * sf(jp_vtau)%fnow(ji,jj,1) * totwindspd 
     174                   ELSE 
     175                      utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) 
     176                      vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) 
     177                   ENDIF 
     178                   qsr (ji,jj) = sf(jp_qsr )%fnow(ji,jj,1) 
     179                   IF( ln_foam_flx .OR. ln_shelf_flx ) THEN 
     180                      !! UKMO FOAM flux files contain non-solar heat flux (qns) rather than total heat flux (qtot) 
     181                      qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) 
     182                      !! UKMO FOAM flux files contain the net DOWNWARD freshwater flux P-E rather then E-P 
     183                      emp (ji,jj) = -1. * sf(jp_emp )%fnow(ji,jj,1) 
     184                   ELSE 
     185                      qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) 
     186                      emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) 
     187                   ENDIF 
    188188            END DO 
    189189         END DO 
     
    191191         qns(:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp        ! mass flux is at SST 
    192192         ! 
    193          !! UKMO FOAM wind fluxes need lbc_lnk calls owing to a bug in interp.exe   
    194          IF( ln_foam_flx ) THEN   
    195             CALL lbc_lnk( utau(:,:), 'U', -1. )   
    196             CALL lbc_lnk( vtau(:,:), 'V', -1. )   
    197          ENDIF   
     193    
     194            !! UKMO FOAM wind fluxes need lbc_lnk calls owing to a bug in interp.exe 
     195            IF( ln_foam_flx ) THEN 
     196               CALL lbc_lnk( utau(:,:), 'U', -1. ) 
     197               CALL lbc_lnk( vtau(:,:), 'V', -1. ) 
     198            ENDIF 
     199     
    198200         !                                                        ! module of wind stress and wind speed at T-point 
    199201         zcoef = 1. / ( zrhoa * zcdrag ) 
  • branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90

    r7452 r7454  
    4242   LOGICAL         ::   ln_sssr_bnd     ! flag to bound erp term  
    4343   REAL(wp)        ::   rn_sssr_bnd     ! ABS(Max./Min.) value of erp term [mm/day] 
    44    LOGICAL         ::   ln_UKMO_haney   ! UKMO specific flag to calculate Haney forcing 
     44   LOGICAL         ::   ln_UKMO_haney   ! UKMO specific flag to calculate Haney forcing   
    4545 
    4646   REAL(wp) , ALLOCATABLE, DIMENSION(:) ::   buffer   ! Temporary buffer for exchange 
     
    8080      INTEGER  ::   ierror   ! return error code 
    8181      !! 
    82       REAL(wp) ::   sst1,sst2                      ! sea surface temperature   
    83       REAL(wp) ::   e_sst1, e_sst2                 ! saturation vapour pressure   
    84       REAL(wp) ::   qs1,qs2                        ! specific humidity   
    85       REAL(wp) ::   pr_tmp                         ! temporary variable for pressure   
    86              
    87       REAL(wp), DIMENSION(jpi,jpj) ::  hny_frc1    ! Haney forcing for sensible heat, correction for latent heat      
    88       REAL(wp), DIMENSION(jpi,jpj) ::  hny_frc2    ! Haney forcing for sensible heat, correction for latent heat      
    89       !!   
     82      REAL(wp) ::   sst1,sst2                      ! sea surface temperature 
     83      REAL(wp) ::   e_sst1, e_sst2                 ! saturation vapour pressure 
     84      REAL(wp) ::   qs1,qs2                        ! specific humidity 
     85      REAL(wp) ::   pr_tmp                         ! temporary variable for pressure 
     86  
     87      REAL(wp), DIMENSION(jpi,jpj) ::  hny_frc1    ! Haney forcing for sensible heat, correction for latent heat    
     88      REAL(wp), DIMENSION(jpi,jpj) ::  hny_frc2    ! Haney forcing for sensible heat, correction for latent heat    
     89      !! 
    9090      CHARACTER(len=100) ::  cn_dir          ! Root directory for location of ssr files 
    9191      TYPE(FLD_N) ::   sn_sst, sn_sss        ! informations about the fields to be read 
     
    104104            ! 
    105105            IF( nn_sstr == 1 ) THEN                                   !* Temperature restoring term 
    106                IF( ln_UKMO_haney ) THEN   
    107                   DO jj = 1, jpj   
    108                      DO ji = 1, jpi   
    109                         sst1   =  sst_m(ji,jj)   
    110                         sst2   =  sf_sst(1)%fnow(ji,jj,1)      
    111                         e_sst1 =  10**((0.7859+0.03477*sst1)/(1.+0.00412*sst1))   
    112                         e_sst2 =  10**((0.7859+0.03477*sst2)/(1.+0.00412*sst2))            
    113                         pr_tmp =  0.01*pressnow(ji,jj)   !pr_tmp = 1012.0   
    114                         qs1    =  (0.62197*e_sst1)/(pr_tmp-0.378*e_sst1)   
    115                         qs2    =  (0.62197*e_sst2)/(pr_tmp-0.378*e_sst2)   
    116                         hny_frc1(ji,jj) = sst1-sst2                      
    117                         hny_frc2(ji,jj) = qs1-qs2                        
    118                         !Might need to mask off land points.   
    119                         hny_frc1(ji,jj)=-hny_frc1(ji,jj)*wndm(ji,jj)*1.42   
    120                         hny_frc2(ji,jj)=-hny_frc2(ji,jj)*wndm(ji,jj)*4688.0   
    121                         qns(ji,jj)=qns(ji,jj)+hny_frc1(ji,jj)+hny_frc2(ji,jj)      
    122                         qrp(ji,jj) = 0.e0   
    123                      END DO   
    124                   END DO   
    125                ELSE   
    126                   DO jj = 1, jpj   
    127                      DO ji = 1, jpi   
    128                         zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) )   
    129                         qns(ji,jj) = qns(ji,jj) + zqrp   
    130                         qrp(ji,jj) = zqrp   
    131                      END DO   
    132                   END DO   
    133                ENDIF   
     106                  IF( ln_UKMO_haney ) THEN 
     107                     DO jj = 1, jpj 
     108                        DO ji = 1, jpi 
     109                           sst1   =  sst_m(ji,jj) 
     110                           sst2   =  sf_sst(1)%fnow(ji,jj,1)    
     111                           e_sst1 = 10**((0.7859+0.03477*sst1)/(1.+0.00412*sst1)) 
     112                           e_sst2 = 10**((0.7859+0.03477*sst2)/(1.+0.00412*sst2))          
     113                           pr_tmp = 0.01*pressnow(ji,jj)  !pr_tmp = 1012.0 
     114                           qs1    = (0.62197*e_sst1)/(pr_tmp-0.378*e_sst1) 
     115                           qs2    = (0.62197*e_sst2)/(pr_tmp-0.378*e_sst2) 
     116                           hny_frc1(ji,jj) = sst1-sst2                    
     117                           hny_frc2(ji,jj) = qs1-qs2                      
     118                          !Might need to mask off land points. 
     119                           hny_frc1(ji,jj)=-hny_frc1(ji,jj)*wndm(ji,jj)*1.42 
     120                           hny_frc2(ji,jj)=-hny_frc2(ji,jj)*wndm(ji,jj)*4688.0 
     121                           qns(ji,jj)=qns(ji,jj)+hny_frc1(ji,jj)+hny_frc2(ji,jj)    
     122                           qrp(ji,jj) = 0.e0 
     123                        END DO 
     124                     END DO 
     125                  ELSE 
     126                     DO jj = 1, jpj 
     127                        DO ji = 1, jpi 
     128                           zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) ) 
     129                           qns(ji,jj) = qns(ji,jj) + zqrp 
     130                           qrp(ji,jj) = zqrp 
     131                        END DO 
     132                     END DO 
     133                  ENDIF 
    134134               CALL iom_put( "qrp", qrp )                             ! heat flux damping 
    135135            ENDIF 
     
    193193      CHARACTER(len=100) ::  cn_dir          ! Root directory for location of ssr files 
    194194      TYPE(FLD_N) ::   sn_sst, sn_sss        ! informations about the fields to be read 
    195       NAMELIST/namsbc_ssr/ cn_dir, nn_sstr, nn_sssr, rn_dqdt, rn_deds, sn_sst, sn_sss, ln_sssr_bnd, rn_sssr_bnd, ln_UKMO_haney  
     195      NAMELIST/namsbc_ssr/ cn_dir, nn_sstr, nn_sssr, rn_dqdt, rn_deds, sn_sst, sn_sss, ln_sssr_bnd, rn_sssr_bnd, ln_UKMO_haney 
    196196      INTEGER     ::  ios 
    197197      !!---------------------------------------------------------------------- 
     
    219219         WRITE(numout,*) '      flag to bound erp term                 ln_sssr_bnd = ', ln_sssr_bnd 
    220220         WRITE(numout,*) '      ABS(Max./Min.) erp threshold           rn_sssr_bnd = ', rn_sssr_bnd, ' mm/day' 
    221          WRITE(numout,*) '      Haney forcing                          ln_UKMO_haney = ', ln_UKMO_haney  
     221         WRITE(numout,*) '      Haney forcing                          ln_UKMO_haney = ', ln_UKMO_haney 
    222222      ENDIF 
    223223      ! 
  • branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90

    r7452 r7454  
    1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    2 <html xmlns="http://www.w3.org/1999/xhtml"> 
    3    
    4    
    5  
    6    
    7  
    8  
    9   <head> 
    10     <title> 
    11       tradwl.F90 in branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA 
    12      – NEMO 
    13     </title> 
    14       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    15       <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    16     <!--[if IE]><script type="text/javascript"> 
    17       if (/^#__msie303:/.test(window.location.hash)) 
    18         window.location.replace(window.location.hash.replace(/^#__msie303:/, '#')); 
    19     </script><![endif]--> 
    20         <link rel="search" href="/nemo/search" /> 
    21         <link rel="help" href="/nemo/wiki/TracGuide" /> 
    22         <link rel="alternate" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120&amp;format=txt" type="text/plain" title="Plain Text" /><link rel="alternate" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" type="text/x-fortran; charset=utf-8" title="Original Format" /> 
    23         <link rel="up" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 
    24         <link rel="start" href="/nemo/wiki" /> 
    25         <link rel="stylesheet" href="/nemo/chrome/common/css/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/contextchrome/css/contextchrome.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/code.css" type="text/css" /><link rel="stylesheet" href="/nemo/pygments/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/browser.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracwysiwyg/wysiwyg.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/tipsy.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracmenus/css/tracmenus.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/listofwikipages/style.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/bookmark/css/tracbookmark.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracbib/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/datasaver/datasaver.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/breadcrumbs/css/breadcrumbs.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/userpictures/userpictures.css" type="text/css" /> 
    26         <link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/common/css/trac.css" /><link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/tracwysiwyg/editor.css" /> 
    27         <link rel="tracwysiwyg.base" href="/nemo" /> 
    28         <link rel="shortcut icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 
    29         <link rel="icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 
    30       <link type="application/opensearchdescription+xml" rel="search" href="/nemo/search/opensearch" title="Search NEMO" /> 
    31     <script type="text/javascript"> 
    32       var config__ticket__decolate_fields=["type"]; 
    33       var _tracwysiwyg={}; 
    34     </script> 
    35       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/jquery.js"></script> 
    36       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/babel.js"></script> 
    37       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/trac.js"></script> 
    38       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/search.js"></script> 
    39       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/xdr.js"></script> 
    40       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/intertracticketlinkdecorator.js"></script> 
    41       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracwysiwyg/wysiwyg.js"></script> 
    42       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/jquery.tipsy.js"></script> 
    43       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/base.js"></script> 
    44       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracsectionedit/js/tracsectionedit.js"></script> 
    45       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/superfish.js"></script> 
    46       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/tracmenus.js"></script> 
    47       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/jquery.hoverIntent.minified.js"></script> 
    48       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/bookmark/js/tracbookmark.js"></script> 
    49       <script type="text/javascript" charset="utf-8" src="/nemo/chrome/datasaver/datasaver.js"></script> 
    50     <script type="text/javascript" src="/nemo/chrome/common/js/folding.js"></script> 
    51     <script type="text/javascript"> 
    52       jQuery(document).ready(function($) { 
    53         $(".trac-toggledeleted").show().click(function() { 
    54                   $(this).siblings().find(".trac-deleted").toggle(); 
    55                   return false; 
    56         }).click(); 
    57         $("#jumploc input").hide(); 
    58         $("#jumploc select").change(function () { 
    59           this.parentNode.parentNode.submit(); 
    60         }); 
    61           $('#preview table.code').enableCollapsibleColumns($('#preview table.code thead th.content')); 
    62       }); 
    63     </script> 
    64            <link rel="stylesheet" type="text/css" href="/nemo/chrome/site/style.css" /> 
    65    </head> 
    66   <body> 
    67       <div id="siteheader"> 
    68          <!--<img src="${href.chrome('site/NEMO_logo.png)}" height="60" width="189" alt="NEMO Ocean Modeling Framework" />--> 
    69            </div> 
    70     <div id="banner"> 
    71       <div id="header"> 
    72         <a id="logo" href="http://forge.ipsl.jussieu.fr/nemo/wiki/Home"><img src="/nemo/chrome/site/banner_huge_728x90.png" alt="NEMO Ocean Modeling Framework" /></a> 
    73       </div> 
    74       <form id="search" action="/nemo/search" method="get"> 
    75         <div> 
    76           <label for="proj-search">Search:</label> 
    77           <input type="text" id="proj-search" name="q" size="18" value="" /> 
    78           <input type="submit" value="Search" /> 
    79         </div> 
    80       </form> 
    81       <div id="metanav" class="nav"> 
    82     <ul> 
    83       <li class="first">logged in as jcastill</li><li><a href="/nemo/logout">Logout</a></li><li><a href="/nemo/prefs">Preferences</a></li><li><a href="/nemo/notification" title="Wiki Pages Change Notifications">My Notifications</a></li><li class="last"><a href="/nemo/wiki/EditorGuide">Help/Guide</a></li> 
    84     </ul><ul class="nav" id="breadcrumbs"><li>Last browsed pages:</li><li class="first"><a href="/nemo/wiki/Developers/WorkingPractices" title="Developers/Working Practices">Developers/Working Practices</a></li><li><a href="/nemo/wiki/2016WP/WAVE-3_JuanCastillo" title="2016WP/WAVE-3_Juan Castillo">2016WP/WAVE-3_Juan Castillo</a></li><li><a href="/nemo/wiki/Agenda/ST/2016-11-30" title="Agenda/ST/2016-11-30">Agenda/ST/2016-11-30</a></li><li><a href="/nemo/ticket/1598" title="Bug: bug fix in fld_clopn for week case (closed: fixed)">#1598</a></li><li><a href="/nemo/ticket/1592" title="Bug: bug if nn_isf &gt; 0 and key_vvl (ISF related) (closed: fixed)">#1592</a></li><li class="last"><a href="/nemo/ticket/1574" title="Bug: Unitialised values in namobs namelist (closed: fixed)">#1574</a></li></ul> 
    85   </div> 
    86     </div> 
    87     <div id="mainnav" class="nav"> 
    88     <ul> 
    89       <li class="first"><a href="/nemo/wiki">Wiki</a><ul><li><a href="/nemo/wiki/WorkingGroups">Working Groups</a></li><li><a href="#">Work Plan</a><ul><li><a href="/nemo/wiki/2017WP">2017</a></li><li><a href="#">2016</a><ul><li><a href="/nemo/wiki/2016WP">Summary</a></li><li><a href="/nemo/wiki/2016WP/2016SharedActions">Shared Actions</a></li></ul></li><li><a href="/nemo/wiki/2999WP">Previous</a></li></ul></li></ul></li><li><a href="#">Code</a><ul><li><a href="#">Browse</a><ul><li><a href="/nemo/browser">Repository root</a></li><li><a href="/nemo/browser/branches/2016">Branches/2016</a></li><li><a href="/nemo/browser/branches/2015/nemo_v3_6_STABLE/NEMOGCM">3.6 Release</a></li><li><a href="/nemo/browser/trunk/NEMOGCM">Trunk</a></li></ul></li><li><a href="https://pagesperso.locean-ipsl.upmc.fr/ntmlod/trusting">Trusting Results</a></li></ul></li><li><a href="/nemo/report">Tickets</a><ul><li><a href="/nemo/report/1">Active Tickets</a></li><li><a href="/nemo/newticket">Create New Ticket</a></li><li><a href="/nemo/query">Custom Query</a></li></ul></li><li><a href="/nemo/timeline?changeset=on&amp;discussion=on&amp;tags=on&amp;ticket=on&amp;ticket_details=on&amp;wiki=on">Timeline</a><ul><li><a href="/nemo/timeline?ticket=on&amp;ticket_details=on">Tickets Events</a></li><li><a href="/nemo/timeline?changeset=on">Last Commits</a></li><li><a href="/nemo/timeline?wiki=on">Wiki Updates</a></li></ul></li><li><a href="/nemo/tags">Tags</a></li><li><a href="/nemo/me">My Page</a></li><li><a href="#">Web Doc.</a><ul><li><a href="/nemo/doxygen">Reference Manuals</a></li><li><a href="/nemo/wiki/Bibliography">Bibliography</a></li></ul></li><li><a href="#">Users</a><ul><li><a href="/nemo/discussion">Forum</a></li><li><a href="/nemo/wiki/Users/2016NEMO_UsersMeeting">2016 Users Meeting</a></li><li><a href="#">IS-ENES</a><ul><li><a href="/nemo/wiki/core2_cmip">Core II CMIP</a></li><li><a href="/nemo/wiki/NEMOConfigurationDataBase">Config DB</a></li></ul></li></ul></li><li><a href="#">Dev. Plan</a><ul><li><a href="/nemo/roadmap">Roadmap</a></li><li><a href="/nemo/versions">Versions</a></li><li><a href="/nemo/peerreviewmain">Peer Review</a></li></ul></li><li><a href="/nemo/wiki/SysTeam">System Team</a><ul><li><a href="#">Working</a><ul><li><a href="/nemo/wiki/Developers/WorkingPractices">Practices</a></li><li><a href="/nemo/wiki/Developers/WorkingFAQ">FAQ</a></li></ul></li><li><a href="/nemo/wiki/Agenda/ST">Agenda</a></li><li><a href="/nemo/wiki/EditorGuide">Wiki Editing</a><ul><li><a href="/nemo/admin/general/wikireplace">Search &amp; Replace</a></li><li><a href="/nemo/wiki/WikiNewPage">Create Page</a></li></ul></li></ul></li><li class="last"><a href="http://www.nemo-ocean.eu">www.nemo-ocean.eu</a></li> 
    90     </ul> 
    91   </div> 
    92     <div id="main"> 
    93       <div id="ctxtnav" class="nav"> 
    94         <h2>Context Navigation</h2> 
    95         <ul> 
    96           <li class="first"><a class="bookmark_off" data-list="/nemo/bookmark" href="/nemo/bookmark/add/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90%3Frev%3D7120" id="bookmark_this" title="Bookmark this page">​</a></li><li><span class="missing">&larr; Previous Revision</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90">Latest Revision</a></li><li><span class="missing">Next Revision &rarr;</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?annotate=blame&amp;rev=7120" title="Annotate each line with the last changed revision (this can be time consuming...)">Blame</a></li><li><a href="/nemo/log/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120">Revision Log</a></li><li><span id="bookmark_menu"><a href="/nemo/bookmark">Bookmarks</a><ul></ul></span></li><li><a href="/nemo/revtree">Revtree</a></li><li class="last"><a href="javascript:datasaver_restore()" id="datasaver_restorer">Restore Form</a></li> 
    97         </ul> 
    98         <hr /> 
    99       </div> 
    100     <div id="content" class="browser"> 
    101         <h1> 
    102            
    103 <a class="pathentry first" href="/nemo/browser?rev=7120&amp;order=name" title="Go to repository root">source:</a> 
    104 <a class="pathentry" href="/nemo/browser/branches?rev=7120&amp;order=name" title="View branches">branches</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO?rev=7120&amp;order=name" title="View UKMO">UKMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl?rev=7120&amp;order=name" title="View r5936_CO6_CO5_zenv_pomsdwl">r5936_CO6_CO5_zenv_pomsdwl</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM?rev=7120&amp;order=name" title="View NEMOGCM">NEMOGCM</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO?rev=7120&amp;order=name" title="View NEMO">NEMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC?rev=7120&amp;order=name" title="View OPA_SRC">OPA_SRC</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA?rev=7120&amp;order=name" title="View TRA">TRA</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120&amp;order=name" title="View tradwl.F90">tradwl.F90</a> 
    105 <span class="pathentry sep">@</span> 
    106   <a class="pathentry" href="/nemo/changeset/7120/" title="View changeset 7120">7120</a> 
    107 <br style="clear: both" /> 
    108  
    109         </h1> 
    110         <div id="diffrev"> 
    111           <form action="/nemo/changeset" method="get"> 
    112             <div> 
    113               <label title="Show the diff against a specific revision"> 
    114                 View diff against: <input type="text" name="old" size="6" /> 
    115                 <input type="hidden" name="old_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 
    116                 <input type="hidden" name="new" value="7120" /> 
    117                 <input type="hidden" name="new_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 
    118               </label> 
    119             </div> 
    120           </form> 
    121         </div> 
    122         <div id="jumprev"> 
    123           <form action="" method="get"> 
    124             <div> 
    125               <label for="rev" title="Hint: clear the field to view latest revision"> 
    126                 View revision:</label> 
    127               <input type="text" id="rev" name="rev" value="7120" size="6" /> 
    128             </div> 
    129           </form> 
    130         </div> 
    131         <div id="jumploc"> 
    132           <form action="" method="get"> 
    133             <div class="buttons"> 
    134               <label for="preselected">Visit:</label> 
    135               <select id="preselected" name="preselected"> 
    136                 <option selected="selected"></option> 
    137                 <optgroup label="branches"> 
    138                   <option value="/nemo/browser/trunk">trunk</option><option value="/nemo/browser/branches/2015/dev_5894_INGV_WAVE">branches/2015/dev_5894_INGV_WAVE</option><option value="/nemo/browser/branches/2015/dev_5974_MERCATOR10_LIMINI">branches/2015/dev_5974_MERCATOR10_LIMINI</option><option value="/nemo/browser/branches/2015/dev_agrif_v3_6_STABLE">branches/2015/dev_agrif_v3_6_STABLE</option><option value="/nemo/browser/branches/2015/dev_CMCC_merge_2015">branches/2015/dev_CMCC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_merge_2015">branches/2015/dev_merge_2015</option><option value="/nemo/browser/branches/2015/dev_MetOffice_merge_2015">branches/2015/dev_MetOffice_merge_2015</option><option value="/nemo/browser/branches/2015/dev_NOC_merge_2015">branches/2015/dev_NOC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_r4826_NOC_WAD">branches/2015/dev_r4826_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r4999_CNRS9_NOC3_LDF">branches/2015/dev_r4999_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5003_MERCATOR6_CRS">branches/2015/dev_r5003_MERCATOR6_CRS</option><option value="/nemo/browser/branches/2015/dev_r5020_CNRS_DIAPTR">branches/2015/dev_r5020_CNRS_DIAPTR</option><option value="/nemo/browser/branches/2015/dev_r5021_UKMO1_CICE_coupling">branches/2015/dev_r5021_UKMO1_CICE_coupling</option><option value="/nemo/browser/branches/2015/dev_r5040_CMCC5_BDY_for_TOP">branches/2015/dev_r5040_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5044_CNRS_LIM3CLEAN">branches/2015/dev_r5044_CNRS_LIM3CLEAN</option><option value="/nemo/browser/branches/2015/dev_r5056_CMCC4_simplification">branches/2015/dev_r5056_CMCC4_simplification</option><option value="/nemo/browser/branches/2015/dev_r5072_UKMO2_OBS_simplification">branches/2015/dev_r5072_UKMO2_OBS_simplification</option><option value="/nemo/browser/branches/2015/dev_r5087_NOC2_JATTR">branches/2015/dev_r5087_NOC2_JATTR</option><option value="/nemo/browser/branches/2015/dev_r5092_CNRS18_TRUST">branches/2015/dev_r5092_CNRS18_TRUST</option><option value="/nemo/browser/branches/2015/dev_r5094_UKMO_ISFCLEAN">branches/2015/dev_r5094_UKMO_ISFCLEAN</option><option value="/nemo/browser/branches/2015/dev_r5102_CNRS11_TestCase">branches/2015/dev_r5102_CNRS11_TestCase</option><option value="/nemo/browser/branches/2015/dev_r5138_CNRS_PISCES_dcy">branches/2015/dev_r5138_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5144_CMCC5_BDY_for_TOP">branches/2015/dev_r5144_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5151_UKMO_ISF">branches/2015/dev_r5151_UKMO_ISF</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_CMIP6out">branches/2015/dev_r5171_CNRS_LIM3_CMIP6out</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_ice_atm">branches/2015/dev_r5171_CNRS_LIM3_ice_atm</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_meltponds">branches/2015/dev_r5171_CNRS_LIM3_meltponds</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_seaicebgc">branches/2015/dev_r5171_CNRS_LIM3_seaicebgc</option><option value="/nemo/browser/branches/2015/dev_r5177_CNRS4_stopar">branches/2015/dev_r5177_CNRS4_stopar</option><option value="/nemo/browser/branches/2015/dev_r5187_UKMO13_simplification">branches/2015/dev_r5187_UKMO13_simplification</option><option value="/nemo/browser/branches/2015/dev_r5204_CNRS_PISCES_dcy">branches/2015/dev_r5204_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5218_CNRS17_coupling">branches/2015/dev_r5218_CNRS17_coupling</option><option value="/nemo/browser/branches/2015/dev_r5224_CNRS_OPA_Hollingsworth">branches/2015/dev_r5224_CNRS_OPA_Hollingsworth</option><option value="/nemo/browser/branches/2015/dev_r5302_CNRS18_HPC_scalability">branches/2015/dev_r5302_CNRS18_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5546_CNRS19_HPC_scalability">branches/2015/dev_r5546_CNRS19_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5656_Met_Office_3_diurnalSST">branches/2015/dev_r5656_Met_Office_3_diurnalSST</option><option value="/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF">branches/2015/dev_r5721_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs">branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs</option><option value="/nemo/browser/branches/2015/dev_r5786_CNRS9_NOC3_ZDF">branches/2015/dev_r5786_CNRS9_NOC3_ZDF</option><option value="/nemo/browser/branches/2015/dev_r5803_NOC_WAD">branches/2015/dev_r5803_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp">branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp</option><option value="/nemo/browser/branches/2015/dev_r5836_NOC3_vvl_by_default">branches/2015/dev_r5836_NOC3_vvl_by_default</option><option value="/nemo/browser/branches/2015/dev_r5847_MERCATOR9_solveur_simplification">branches/2015/dev_r5847_MERCATOR9_solveur_simplification</option><option value="/nemo/browser/branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2">branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2</option><option value="/nemo/browser/branches/2015/dev_r5936_INGV1_WAVE">branches/2015/dev_r5936_INGV1_WAVE</option><option value="/nemo/browser/branches/2015/dev_r6287_ZDFTMX_new">branches/2015/dev_r6287_ZDFTMX_new</option><option value="/nemo/browser/branches/2015/dev_r6946_Offline_vvl">branches/2015/dev_r6946_Offline_vvl</option><option value="/nemo/browser/branches/2015/nemo_v3_6_STABLE">branches/2015/nemo_v3_6_STABLE</option><option value="/nemo/browser/branches/2016/dev_CMCC_2016">branches/2016/dev_CMCC_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_2016">branches/2016/dev_CNRS_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_AGRIF_2016">branches/2016/dev_CNRS_AGRIF_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_MERCATOR_2016">branches/2016/dev_CNRS_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_HPC_Gyre_benchmark_test">branches/2016/dev_HPC_Gyre_benchmark_test</option><option value="/nemo/browser/branches/2016/dev_INGV_METO_merge_2016">branches/2016/dev_INGV_METO_merge_2016</option><option value="/nemo/browser/branches/2016/dev_INGV_UKMO_2016">branches/2016/dev_INGV_UKMO_2016</option><option value="/nemo/browser/branches/2016/dev_MERCATOR_2016">branches/2016/dev_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_merge_2016">branches/2016/dev_merge_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_2016">branches/2016/dev_NOC_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_CMCC_merge_2016">branches/2016/dev_NOC_CMCC_merge_2016</option><option value="/nemo/browser/branches/2016/dev_r6325_SIMPLIF_1">branches/2016/dev_r6325_SIMPLIF_1</option><option value="/nemo/browser/branches/2016/dev_r6381_SIMPLIF_5">branches/2016/dev_r6381_SIMPLIF_5</option><option value="/nemo/browser/branches/2016/dev_r6393_NOC_WAD">branches/2016/dev_r6393_NOC_WAD</option><option value="/nemo/browser/branches/2016/dev_r6409_SIMPLIF_2_usrdef">branches/2016/dev_r6409_SIMPLIF_2_usrdef</option><option value="/nemo/browser/branches/2016/dev_r6519_HPC_4">branches/2016/dev_r6519_HPC_4</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_3">branches/2016/dev_r6522_SIMPLIF_3</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_4">branches/2016/dev_r6522_SIMPLIF_4</option><option value="/nemo/browser/branches/2016/dev_r6711_SIMPLIF_6_aerobulk">branches/2016/dev_r6711_SIMPLIF_6_aerobulk</option><option value="/nemo/browser/branches/2016/dev_r6738_METO_5">branches/2016/dev_r6738_METO_5</option><option value="/nemo/browser/branches/2016/dev_r6771_AGRIF_3_AGRIFVVL">branches/2016/dev_r6771_AGRIF_3_AGRIFVVL</option><option value="/nemo/browser/branches/2016/dev_r6859_LIM3_meltponds">branches/2016/dev_r6859_LIM3_meltponds</option><option value="/nemo/browser/branches/2016/dev_r6999_CONFIGMAN_1">branches/2016/dev_r6999_CONFIGMAN_1</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CMCC">branches/2016/dev_r7012_ROBUST5_CMCC</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CNRS">branches/2016/dev_r7012_ROBUST5_CNRS</option><option value="/nemo/browser/branches/2016/dev_r7161_trunk_XIOS2">branches/2016/dev_r7161_trunk_XIOS2</option><option value="/nemo/browser/branches/2016/dev_r7233_CMIP6_diags_trunk_version">branches/2016/dev_r7233_CMIP6_diags_trunk_version</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_OMP">branches/2016/dev_v3_6_STABLE_OMP</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3">branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3</option> 
    139                 </optgroup> 
    140               </select> 
    141               <input type="submit" value="Go!" title="Jump to the chosen preselected path" /> 
    142             </div> 
    143           </form> 
    144         </div> 
    145         <div class="trac-tags"> 
    146         </div> 
    147       <table id="info" summary="Revision info"> 
    148         <tr> 
    149           <th><img height="40" width="40" src="/nemo/raw-attachment/wiki/UserManagerPluginPictures/jcastill_Work_in_progress.png" class="userpictures_avatar browser-filesource" /> 
    150                 <a href="/nemo/changeset/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" title="View differences">Last change</a> 
    151                   on this file since 7120 was 
    152                   <a href="/nemo/changeset/7120/" title="View changeset 7120">7120</a>, 
    153                   checked in by <span class="usernamedecorate" title="jcastill - Juan Castillo &lt;juan.m.castillo@metoffice.gov.uk&gt;">Juan Castillo</span>, <a class="timeline" href="/nemo/timeline?from=2016-10-26T18%3A28%3A31%2B02%3A00&amp;precision=second" title="See timeline at 10/26/16 18:28:31">6 weeks ago</a> 
    154           </th> 
    155         </tr> 
    156         <tr> 
    157           <td class="message searchable"> 
    158               <p> 
    159 Changes as in branch UKMO/2015_V36_STABLE_CO6_CO5_zenv_pomsdwl@5793<br /> 
    160 </p> 
    161           </td> 
    162         </tr> 
    163         <tr><td colspan="2"> 
    164             <strong>File size:</strong> 
    165             <span title="10393 bytes">10.1 KB</span> 
    166           </td></tr> 
    167       </table> 
    168       <div id="preview" class="searchable"> 
    169          
    170   <table class="code"><thead><tr><th class="lineno" title="Line numbers">Line</th><th class="content"> </th></tr></thead><tbody><tr><th id="L1"><a href="javascript:setLineNum(1)">1</a></th><td><span class="k">MODULE </span><span class="nv">tradwl</span></td></tr><tr><th id="L2"><a href="javascript:setLineNum(2)">2</a></th><td>   <span class="c">!!======================================================================</span></td></tr><tr><th id="L3"><a href="javascript:setLineNum(3)">3</a></th><td><span class="c"></span>   <span class="c">!!                       ***  MODULE  tradwl  ***</span></td></tr><tr><th id="L4"><a href="javascript:setLineNum(4)">4</a></th><td><span class="c"></span>   <span class="c">!! Ocean physics: solar radiation penetration in the top ocean levels</span></td></tr><tr><th id="L5"><a href="javascript:setLineNum(5)">5</a></th><td><span class="c"></span>   <span class="c">!!======================================================================</span></td></tr><tr><th id="L6"><a href="javascript:setLineNum(6)">6</a></th><td><span class="c"></span>   <span class="c">!! History :  POLCOMS  !  1996-10  (J. Holt)  Original code</span></td></tr><tr><th id="L7"><a href="javascript:setLineNum(7)">7</a></th><td><span class="c"></span>   <span class="c">!!   NEMO     3.2  !  2010-03  (E. O'Dea)  Import to Nemo for use in Shelf Model</span></td></tr><tr><th id="L8"><a href="javascript:setLineNum(8)">8</a></th><td><span class="c"></span>   <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L9"><a href="javascript:setLineNum(9)">9</a></th><td><span class="c"></span></td></tr><tr><th id="L10"><a href="javascript:setLineNum(10)">10</a></th><td>   <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L11"><a href="javascript:setLineNum(11)">11</a></th><td><span class="c"></span>   <span class="c">!!   tra_dwl      : trend due to the solar radiation penetration</span></td></tr><tr><th id="L12"><a href="javascript:setLineNum(12)">12</a></th><td><span class="c"></span>   <span class="c">!!   tra_dwl_init : solar radiation penetration initialization</span></td></tr><tr><th id="L13"><a href="javascript:setLineNum(13)">13</a></th><td><span class="c"></span>   <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L14"><a href="javascript:setLineNum(14)">14</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">oce</span>             <span class="c">! ocean dynamics and active tracers</span></td></tr><tr><th id="L15"><a href="javascript:setLineNum(15)">15</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">dom_oce</span>         <span class="c">! ocean space and time domain</span></td></tr><tr><th id="L16"><a href="javascript:setLineNum(16)">16</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">sbc_oce</span>         <span class="c">! surface boundary condition: ocean</span></td></tr><tr><th id="L17"><a href="javascript:setLineNum(17)">17</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">trc_oce</span>         <span class="c">! share SMS/Ocean variables</span></td></tr><tr><th id="L18"><a href="javascript:setLineNum(18)">18</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">trd_oce</span>         <span class="c">! trends: ocean variables</span></td></tr><tr><th id="L19"><a href="javascript:setLineNum(19)">19</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">trdtra</span>          <span class="c">! ocean active tracers trends </span></td></tr><tr><th id="L20"><a href="javascript:setLineNum(20)">20</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">in_out_manager</span>  <span class="c">! I/O manager</span></td></tr><tr><th id="L21"><a href="javascript:setLineNum(21)">21</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">phycst</span>          <span class="c">! physical constants</span></td></tr><tr><th id="L22"><a href="javascript:setLineNum(22)">22</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">prtctl</span>          <span class="c">! Print control</span></td></tr><tr><th id="L23"><a href="javascript:setLineNum(23)">23</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">iom</span>             <span class="c">! I/O manager</span></td></tr><tr><th id="L24"><a href="javascript:setLineNum(24)">24</a></th><td><span class="c"></span>   <span class="k">USE </span><span class="nv">fldread</span>         <span class="c">! read input fields</span></td></tr><tr><th id="L25"><a href="javascript:setLineNum(25)">25</a></th><td><span class="c"></span></td></tr><tr><th id="L26"><a href="javascript:setLineNum(26)">26</a></th><td>   <span class="k">IMPLICIT NONE</span></td></tr><tr><th id="L27"><a href="javascript:setLineNum(27)">27</a></th><td><span class="k">   PRIVATE</span></td></tr><tr><th id="L28"><a href="javascript:setLineNum(28)">28</a></th><td><span class="k"></span></td></tr><tr><th id="L29"><a href="javascript:setLineNum(29)">29</a></th><td><span class="k">   PUBLIC   </span><span class="nv">tra_dwl</span>        <span class="c">! routine called by step.F90 (ln_tradwl=T)</span></td></tr><tr><th id="L30"><a href="javascript:setLineNum(30)">30</a></th><td><span class="c"></span></td></tr><tr><th id="L31"><a href="javascript:setLineNum(31)">31</a></th><td>   <span class="c">!                                           !!* Namelist namtra_qsr: penetrative solar radiation</span></td></tr><tr><th id="L32"><a href="javascript:setLineNum(32)">32</a></th><td><span class="c"></span>   <span class="kt">LOGICAL</span> <span class="p">,</span> <span class="k">PUBLIC</span> <span class="kd">::</span>   <span class="nv">ln_tradwl</span>  <span class="o">=</span> <span class="nb">.TRUE.</span>    <span class="c">! light absorption (dwl) flag</span></td></tr><tr><th id="L33"><a href="javascript:setLineNum(33)">33</a></th><td><span class="c"></span>   <span class="kt">LOGICAL</span> <span class="p">,</span> <span class="k">PUBLIC</span> <span class="kd">::</span>   <span class="nv">ln_vary_lambda</span>  <span class="o">=</span> <span class="nb">.TRUE.</span>    <span class="c">! vary Lambda or not flag</span></td></tr><tr><th id="L34"><a href="javascript:setLineNum(34)">34</a></th><td><span class="c"></span>   </td></tr><tr><th id="L35"><a href="javascript:setLineNum(35)">35</a></th><td>   <span class="c">!! * Substitutions</span></td></tr><tr><th id="L36"><a href="javascript:setLineNum(36)">36</a></th><td><span class="c"></span><span class="err">#</span>  <span class="k">include</span> <span class="s2">"domzgr_substitute.h90"</span></td></tr><tr><th id="L37"><a href="javascript:setLineNum(37)">37</a></th><td><span class="err">#</span>  <span class="k">include</span> <span class="s2">"vectopt_loop_substitute.h90"</span></td></tr><tr><th id="L38"><a href="javascript:setLineNum(38)">38</a></th><td>   <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L39"><a href="javascript:setLineNum(39)">39</a></th><td><span class="c"></span>   <span class="c">!! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) </span></td></tr><tr><th id="L40"><a href="javascript:setLineNum(40)">40</a></th><td><span class="c"></span>   <span class="c">!! $Id$</span></td></tr><tr><th id="L41"><a href="javascript:setLineNum(41)">41</a></th><td><span class="c"></span>   <span class="c">!! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)</span></td></tr><tr><th id="L42"><a href="javascript:setLineNum(42)">42</a></th><td><span class="c"></span>   <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L43"><a href="javascript:setLineNum(43)">43</a></th><td><span class="c"></span></td></tr><tr><th id="L44"><a href="javascript:setLineNum(44)">44</a></th><td><span class="k">CONTAINS</span></td></tr><tr><th id="L45"><a href="javascript:setLineNum(45)">45</a></th><td><span class="k"></span></td></tr><tr><th id="L46"><a href="javascript:setLineNum(46)">46</a></th><td><span class="k">   SUBROUTINE </span><span class="nv">tra_dwl</span><span class="p">(</span> <span class="nv">kt</span> <span class="p">)</span></td></tr><tr><th id="L47"><a href="javascript:setLineNum(47)">47</a></th><td>      <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L48"><a href="javascript:setLineNum(48)">48</a></th><td><span class="c"></span>      <span class="c">!!                  ***  ROUTINE tra_qsr  ***</span></td></tr><tr><th id="L49"><a href="javascript:setLineNum(49)">49</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L50"><a href="javascript:setLineNum(50)">50</a></th><td><span class="c"></span>      <span class="c">!! ** Purpose :   Compute the temperature trend due to the solar radiation</span></td></tr><tr><th id="L51"><a href="javascript:setLineNum(51)">51</a></th><td><span class="c"></span>      <span class="c">!!      penetration and add it to the general temperature trend.</span></td></tr><tr><th id="L52"><a href="javascript:setLineNum(52)">52</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L53"><a href="javascript:setLineNum(53)">53</a></th><td><span class="c"></span>      <span class="c">!! ** Method  : The profile of the solar radiation within the ocean is defined</span></td></tr><tr><th id="L54"><a href="javascript:setLineNum(54)">54</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L55"><a href="javascript:setLineNum(55)">55</a></th><td><span class="c"></span>      <span class="c">!!          Jason Holt Oct 96</span></td></tr><tr><th id="L56"><a href="javascript:setLineNum(56)">56</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L57"><a href="javascript:setLineNum(57)">57</a></th><td><span class="c"></span>      <span class="c">!!          Calculates change in temperature due to penetrating</span></td></tr><tr><th id="L58"><a href="javascript:setLineNum(58)">58</a></th><td><span class="c"></span>      <span class="c">!!          radiation, with cooling at the surface layer</span></td></tr><tr><th id="L59"><a href="javascript:setLineNum(59)">59</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L60"><a href="javascript:setLineNum(60)">60</a></th><td><span class="c"></span>      <span class="c">!!          rad=rad0*exp(lambda*z)</span></td></tr><tr><th id="L61"><a href="javascript:setLineNum(61)">61</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L62"><a href="javascript:setLineNum(62)">62</a></th><td><span class="c"></span>      <span class="c">!!       Heat input into box is between z=K and z=K+1 is RAD(K)-RAD(K+1)</span></td></tr><tr><th id="L63"><a href="javascript:setLineNum(63)">63</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L64"><a href="javascript:setLineNum(64)">64</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L65"><a href="javascript:setLineNum(65)">65</a></th><td><span class="c"></span>      <span class="c">!! ** Action  : - update ta with the penetrative solar radiation trend</span></td></tr><tr><th id="L66"><a href="javascript:setLineNum(66)">66</a></th><td><span class="c"></span>      <span class="c">!!              - save the trend in ttrd ('key_trdtra')</span></td></tr><tr><th id="L67"><a href="javascript:setLineNum(67)">67</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L68"><a href="javascript:setLineNum(68)">68</a></th><td><span class="c"></span>      <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L69"><a href="javascript:setLineNum(69)">69</a></th><td><span class="c"></span>      <span class="k">USE </span><span class="nv">oce</span><span class="p">,</span> <span class="nv">ONLY</span> <span class="p">:</span>   <span class="nv">ztrdt</span> <span class="o">=&gt;</span> <span class="nv">ua</span>   <span class="c">! use ua as 3D workspace   </span></td></tr><tr><th id="L70"><a href="javascript:setLineNum(70)">70</a></th><td><span class="c"></span>      <span class="k">USE </span><span class="nv">oce</span><span class="p">,</span> <span class="nv">ONLY</span> <span class="p">:</span>   <span class="nv">ztrds</span> <span class="o">=&gt;</span> <span class="nv">va</span>   <span class="c">! use va as 3D workspace   </span></td></tr><tr><th id="L71"><a href="javascript:setLineNum(71)">71</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L72"><a href="javascript:setLineNum(72)">72</a></th><td><span class="c"></span>      <span class="kt">INTEGER</span><span class="p">,</span> <span class="k">INTENT</span><span class="p">(</span><span class="nv">in</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">kt</span>     <span class="c">! ocean time-step</span></td></tr><tr><th id="L73"><a href="javascript:setLineNum(73)">73</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L74"><a href="javascript:setLineNum(74)">74</a></th><td><span class="c"></span>      <span class="kt">INTEGER</span>  <span class="kd">::</span>   <span class="nv">ji</span><span class="p">,</span> <span class="nv">jj</span><span class="p">,</span> <span class="nv">jk</span>           <span class="c">! dummy loop indices</span></td></tr><tr><th id="L75"><a href="javascript:setLineNum(75)">75</a></th><td><span class="c"></span>      <span class="kt">INTEGER</span>  <span class="kd">::</span>   <span class="nv">irgb</span>                 <span class="c">! temporary integers</span></td></tr><tr><th id="L76"><a href="javascript:setLineNum(76)">76</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">zchl</span><span class="p">,</span> <span class="nv">zcoef</span><span class="p">,</span> <span class="nv">zsi0r</span>   <span class="c">! temporary scalars</span></td></tr><tr><th id="L77"><a href="javascript:setLineNum(77)">77</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">zc0</span><span class="p">,</span> <span class="nv">zc1</span><span class="p">,</span> <span class="nv">zc2</span><span class="p">,</span> <span class="nv">zc3</span>   <span class="c">!    -         -</span></td></tr><tr><th id="L78"><a href="javascript:setLineNum(78)">78</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">)</span>     <span class="kd">::</span>   <span class="nv">zekb</span><span class="p">,</span> <span class="nv">zekg</span><span class="p">,</span> <span class="nv">zekr</span>            <span class="c">! 2D workspace</span></td></tr><tr><th id="L79"><a href="javascript:setLineNum(79)">79</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">,</span><span class="nv">jpk</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">ze0</span><span class="p">,</span> <span class="nv">ze1</span> <span class="p">,</span> <span class="nv">ze2</span><span class="p">,</span> <span class="nv">ze3</span><span class="p">,</span> <span class="nv">zea</span>    <span class="c">! 3D workspace</span></td></tr><tr><th id="L80"><a href="javascript:setLineNum(80)">80</a></th><td><span class="c"></span>      <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L81"><a href="javascript:setLineNum(81)">81</a></th><td><span class="c"></span>      <span class="c">!! HERE GO VARIABLES USED IN POLCOMS CLEAN UP LATER</span></td></tr><tr><th id="L82"><a href="javascript:setLineNum(82)">82</a></th><td><span class="c"></span></td></tr><tr><th id="L83"><a href="javascript:setLineNum(83)">83</a></th><td>      <span class="kt">integer </span><span class="nv">i</span><span class="p">,</span><span class="nv">j</span><span class="p">,</span><span class="nv">k</span></td></tr><tr><th id="L84"><a href="javascript:setLineNum(84)">84</a></th><td><span class="c">!      real*8 dtmp(n-1)</span></td></tr><tr><th id="L85"><a href="javascript:setLineNum(85)">85</a></th><td><span class="c"></span>      <span class="kt">real</span><span class="o">*</span><span class="mi">8</span> <span class="nv">dtmp</span><span class="p">(</span><span class="nv">jpkm1</span><span class="p">)</span></td></tr><tr><th id="L86"><a href="javascript:setLineNum(86)">86</a></th><td>      <span class="kt">real</span><span class="o">*</span><span class="mi">8</span> <span class="nv">z1</span><span class="p">,</span><span class="nv">z2</span><span class="p">,</span><span class="nv">Rad0</span><span class="p">,</span><span class="nv">Rad1</span><span class="p">,</span><span class="nv">Rad2</span><span class="p">,</span><span class="nv">rD</span><span class="p">,</span><span class="nv">SurfOut</span><span class="p">,</span><span class="nv">cp</span></td></tr><tr><th id="L87"><a href="javascript:setLineNum(87)">87</a></th><td>      <span class="kt">logical </span><span class="nv">first</span></td></tr><tr><th id="L88"><a href="javascript:setLineNum(88)">88</a></th><td>      <span class="k">save </span><span class="nv">first</span></td></tr><tr><th id="L89"><a href="javascript:setLineNum(89)">89</a></th><td>      <span class="k">data </span><span class="nv">first</span><span class="o">/</span><span class="nb">.true.</span><span class="o">/</span></td></tr><tr><th id="L90"><a href="javascript:setLineNum(90)">90</a></th><td>      <span class="c">!!--------------------------End of POLCOMS variables Note instead of using saves</span></td></tr><tr><th id="L91"><a href="javascript:setLineNum(91)">91</a></th><td><span class="c"></span>      <span class="c">!!--------------------------Could shift this into initial code</span></td></tr><tr><th id="L92"><a href="javascript:setLineNum(92)">92</a></th><td><span class="c"></span></td></tr><tr><th id="L93"><a href="javascript:setLineNum(93)">93</a></th><td>      <span class="k">IF</span><span class="p">(</span> <span class="nv">kt</span> <span class="o">==</span> <span class="nv">nit000</span> <span class="p">)</span> <span class="k">THEN</span></td></tr><tr><th id="L94"><a href="javascript:setLineNum(94)">94</a></th><td><span class="k">         IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span></td></tr><tr><th id="L95"><a href="javascript:setLineNum(95)">95</a></th><td>         <span class="k">IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'tra_dwl : penetration of the surface solar radiation'</span></td></tr><tr><th id="L96"><a href="javascript:setLineNum(96)">96</a></th><td>         <span class="k">IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'~~~~~~~'</span></td></tr><tr><th id="L97"><a href="javascript:setLineNum(97)">97</a></th><td>         <span class="k">CALL </span><span class="nv">tra_dwl_init</span></td></tr><tr><th id="L98"><a href="javascript:setLineNum(98)">98</a></th><td>         <span class="k">IF</span><span class="p">(</span> <span class="ow">.NOT.</span><span class="nv">ln_tradwl</span> <span class="p">)</span>   <span class="k">RETURN</span></td></tr><tr><th id="L99"><a href="javascript:setLineNum(99)">99</a></th><td><span class="k">      ENDIF</span></td></tr><tr><th id="L100"><a href="javascript:setLineNum(100)">100</a></th><td><span class="k"></span></td></tr><tr><th id="L101"><a href="javascript:setLineNum(101)">101</a></th><td><span class="k">      IF</span><span class="p">(</span> <span class="nv">l_trdtra</span> <span class="p">)</span> <span class="k">THEN</span>      <span class="c">! Save ta and sa trends</span></td></tr><tr><th id="L102"><a href="javascript:setLineNum(102)">102</a></th><td><span class="c"></span>         <span class="nv">ztrdt</span><span class="p">(:,:,:)</span> <span class="o">=</span> <span class="nv">tsa</span><span class="p">(:,:,:,</span><span class="nv">jp_tem</span><span class="p">)</span></td></tr><tr><th id="L103"><a href="javascript:setLineNum(103)">103</a></th><td>         <span class="nv">ztrds</span><span class="p">(:,:,:)</span> <span class="o">=</span> <span class="mf">0.e0</span></td></tr><tr><th id="L104"><a href="javascript:setLineNum(104)">104</a></th><td>      <span class="k">ENDIF</span></td></tr><tr><th id="L105"><a href="javascript:setLineNum(105)">105</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L106"><a href="javascript:setLineNum(106)">106</a></th><td><span class="c">!  Set transmissivity</span></td></tr><tr><th id="L107"><a href="javascript:setLineNum(107)">107</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L108"><a href="javascript:setLineNum(108)">108</a></th><td><span class="c">!</span></td></tr><tr><th id="L109"><a href="javascript:setLineNum(109)">109</a></th><td><span class="c">!  Normal value</span></td></tr><tr><th id="L110"><a href="javascript:setLineNum(110)">110</a></th><td><span class="c">!</span></td></tr><tr><th id="L111"><a href="javascript:setLineNum(111)">111</a></th><td><span class="c">!---------------------------------------------------------------------------</span></td></tr><tr><th id="L112"><a href="javascript:setLineNum(112)">112</a></th><td><span class="c">!</span></td></tr><tr><th id="L113"><a href="javascript:setLineNum(113)">113</a></th><td><span class="c">!  Convert Heat fluxes to units used in POL subroutine dwl</span></td></tr><tr><th id="L114"><a href="javascript:setLineNum(114)">114</a></th><td><span class="c">!</span></td></tr><tr><th id="L115"><a href="javascript:setLineNum(115)">115</a></th><td><span class="c">!---------------------------------------------------------------------------</span></td></tr><tr><th id="L116"><a href="javascript:setLineNum(116)">116</a></th><td><span class="c"></span>      <span class="nv">cp</span><span class="o">=</span><span class="mi">398</span><span class="mf">6.0</span><span class="nv">d0</span></td></tr><tr><th id="L117"><a href="javascript:setLineNum(117)">117</a></th><td></td></tr><tr><th id="L118"><a href="javascript:setLineNum(118)">118</a></th><td>    <span class="k">DO </span><span class="nv">jj</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span> <span class="nv">jpj</span></td></tr><tr><th id="L119"><a href="javascript:setLineNum(119)">119</a></th><td>         <span class="k">DO </span><span class="nv">ji</span> <span class="o">=</span> <span class="nv">fs_2</span><span class="p">,</span> <span class="nv">fs_jpim1</span></td></tr><tr><th id="L120"><a href="javascript:setLineNum(120)">120</a></th><td>           <span class="nv">qsr</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span>  <span class="o">=</span> <span class="nv">qsr</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span>  <span class="o">*</span> <span class="p">(</span><span class="nv">r1_rau0_rcp</span><span class="p">)</span></td></tr><tr><th id="L121"><a href="javascript:setLineNum(121)">121</a></th><td>         <span class="nv">ENDDO</span>       <span class="c">!ji</span></td></tr><tr><th id="L122"><a href="javascript:setLineNum(122)">122</a></th><td><span class="c"></span>    <span class="nv">ENDDO</span>            <span class="c">!jj</span></td></tr><tr><th id="L123"><a href="javascript:setLineNum(123)">123</a></th><td><span class="c">!--------------------------------------------------------------------------------</span></td></tr><tr><th id="L124"><a href="javascript:setLineNum(124)">124</a></th><td><span class="c"></span>      <span class="k">if</span> <span class="p">(</span> <span class="nv">first</span> <span class="p">)</span> <span class="k">then</span></td></tr><tr><th id="L125"><a href="javascript:setLineNum(125)">125</a></th><td><span class="k">        </span><span class="nv">rlambda2</span><span class="p">(:,:)</span> <span class="o">=</span> <span class="mf">0.0</span></td></tr><tr><th id="L126"><a href="javascript:setLineNum(126)">126</a></th><td>        <span class="nv">first</span><span class="o">=</span><span class="nb">.false.</span></td></tr><tr><th id="L127"><a href="javascript:setLineNum(127)">127</a></th><td>           <span class="k">if</span> <span class="p">(</span> <span class="nv">ln_vary_lambda</span> <span class="p">)</span> <span class="k">then</span></td></tr><tr><th id="L128"><a href="javascript:setLineNum(128)">128</a></th><td><span class="c">!        do j=1,jesub    ! Original Polcoms style Loop</span></td></tr><tr><th id="L129"><a href="javascript:setLineNum(129)">129</a></th><td><span class="c">!          do i=1,iesub  ! Original Polcoms style Loop</span></td></tr><tr><th id="L130"><a href="javascript:setLineNum(130)">130</a></th><td><span class="c"></span></td></tr><tr><th id="L131"><a href="javascript:setLineNum(131)">131</a></th><td>        <span class="k">do </span><span class="nv">jj</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="nv">jpjm1</span></td></tr><tr><th id="L132"><a href="javascript:setLineNum(132)">132</a></th><td>          <span class="k">do </span><span class="nv">ji</span> <span class="o">=</span> <span class="nv">fs_2</span><span class="p">,</span> <span class="nv">fs_jpim1</span>   <span class="c">! vector opt.</span></td></tr><tr><th id="L133"><a href="javascript:setLineNum(133)">133</a></th><td><span class="c"></span></td></tr><tr><th id="L134"><a href="javascript:setLineNum(134)">134</a></th><td><span class="c">!            if(ipexb(i,j).ne. 0) then  (Mask, use Tmask instead)</span></td></tr><tr><th id="L135"><a href="javascript:setLineNum(135)">135</a></th><td><span class="c"></span></td></tr><tr><th id="L136"><a href="javascript:setLineNum(136)">136</a></th><td>              <span class="nv">rlambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span><span class="o">=-</span><span class="mf">0.033</span><span class="o">*</span><span class="nb">log</span><span class="p">(</span><span class="nv">hbatt</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">))</span><span class="o">+</span><span class="mf">0.2583</span>    <span class="c">! JIAs formula</span></td></tr><tr><th id="L137"><a href="javascript:setLineNum(137)">137</a></th><td><span class="c"></span>              <span class="nv">rlambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span><span class="o">=</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.05</span><span class="p">,</span><span class="nv">rlambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">))</span>     <span class="c">! limit in deep water</span></td></tr><tr><th id="L138"><a href="javascript:setLineNum(138)">138</a></th><td><span class="c"></span>          <span class="nv">enddo</span> <span class="c">! ji</span></td></tr><tr><th id="L139"><a href="javascript:setLineNum(139)">139</a></th><td><span class="c"></span>        <span class="nv">enddo</span> <span class="c">! jj</span></td></tr><tr><th id="L140"><a href="javascript:setLineNum(140)">140</a></th><td><span class="c"></span>      <span class="nv">rlambda</span> <span class="o">=</span> <span class="mf">0.0</span></td></tr><tr><th id="L141"><a href="javascript:setLineNum(141)">141</a></th><td>       <span class="k">else</span></td></tr><tr><th id="L142"><a href="javascript:setLineNum(142)">142</a></th><td><span class="k">      </span><span class="nv">rLambda</span><span class="o">=</span><span class="mf">0.154</span></td></tr><tr><th id="L143"><a href="javascript:setLineNum(143)">143</a></th><td>       <span class="k">endif</span> <span class="c">! If vary lambda</span></td></tr><tr><th id="L144"><a href="javascript:setLineNum(144)">144</a></th><td><span class="c"></span>      <span class="k">endif</span> <span class="c">! If first</span></td></tr><tr><th id="L145"><a href="javascript:setLineNum(145)">145</a></th><td><span class="c"></span></td></tr><tr><th id="L146"><a href="javascript:setLineNum(146)">146</a></th><td><span class="c">!      do j=1,jesub      ! Original Polcoms Style Loop</span></td></tr><tr><th id="L147"><a href="javascript:setLineNum(147)">147</a></th><td><span class="c">!        do i=1,iesub    ! Original Polcoms Style Loop</span></td></tr><tr><th id="L148"><a href="javascript:setLineNum(148)">148</a></th><td><span class="c"></span>              <span class="k">do </span><span class="nv">jk</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="nv">jpk</span></td></tr><tr><th id="L149"><a href="javascript:setLineNum(149)">149</a></th><td>        <span class="k">DO </span><span class="nv">jj</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="nv">jpjm1</span></td></tr><tr><th id="L150"><a href="javascript:setLineNum(150)">150</a></th><td>            <span class="k">DO </span><span class="nv">ji</span> <span class="o">=</span> <span class="nv">fs_2</span><span class="p">,</span> <span class="nv">fs_jpim1</span>   <span class="c">! vector opt.</span></td></tr><tr><th id="L151"><a href="javascript:setLineNum(151)">151</a></th><td><span class="c"></span></td></tr><tr><th id="L152"><a href="javascript:setLineNum(152)">152</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L153"><a href="javascript:setLineNum(153)">153</a></th><td><span class="c">! Calculate change in temperature</span></td></tr><tr><th id="L154"><a href="javascript:setLineNum(154)">154</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L155"><a href="javascript:setLineNum(155)">155</a></th><td><span class="c">!</span></td></tr><tr><th id="L156"><a href="javascript:setLineNum(156)">156</a></th><td><span class="c">!        rad0 = hfl_in(i,j)   ! change hfl_in to qsr I assume</span></td></tr><tr><th id="L157"><a href="javascript:setLineNum(157)">157</a></th><td><span class="c"></span></td></tr><tr><th id="L158"><a href="javascript:setLineNum(158)">158</a></th><td>               <span class="nv">rad0</span> <span class="o">=</span> <span class="nv">qsr</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span></td></tr><tr><th id="L159"><a href="javascript:setLineNum(159)">159</a></th><td>                     <span class="nv">rD</span> <span class="o">=</span> <span class="nv">rLambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span>  <span class="o">+</span><span class="nv">rLambda</span>      <span class="c">!  Transmissivity to be used here</span></td></tr><tr><th id="L160"><a href="javascript:setLineNum(160)">160</a></th><td><span class="c">!       if rlambda 0 then rlambda2 not zer and vica versa </span></td></tr><tr><th id="L161"><a href="javascript:setLineNum(161)">161</a></th><td><span class="c"></span></td></tr><tr><th id="L162"><a href="javascript:setLineNum(162)">162</a></th><td>                <span class="nv">z2</span><span class="o">=</span><span class="nv">gdepw_0</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>    <span class="c">! grid box is from z=z1 to z=z2</span></td></tr><tr><th id="L163"><a href="javascript:setLineNum(163)">163</a></th><td><span class="c"></span>                <span class="nv">z1</span><span class="o">=</span><span class="nv">gdepw_0</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span></td></tr><tr><th id="L164"><a href="javascript:setLineNum(164)">164</a></th><td></td></tr><tr><th id="L165"><a href="javascript:setLineNum(165)">165</a></th><td>                <span class="nv">Rad2</span><span class="o">=</span><span class="nv">Rad0</span><span class="o">*</span><span class="p">(</span><span class="nb">exp</span><span class="p">(</span><span class="o">-</span><span class="nv">z2</span><span class="o">*</span><span class="nv">rD</span><span class="p">))</span> <span class="c">! radiation entering box</span></td></tr><tr><th id="L166"><a href="javascript:setLineNum(166)">166</a></th><td><span class="c"></span>                <span class="nv">Rad1</span><span class="o">=</span><span class="nv">Rad0</span><span class="o">*</span><span class="p">(</span><span class="nb">exp</span><span class="p">(</span><span class="o">-</span><span class="nv">z1</span><span class="o">*</span><span class="nv">rD</span><span class="p">))</span> <span class="c">! radiation leaving box</span></td></tr><tr><th id="L167"><a href="javascript:setLineNum(167)">167</a></th><td><span class="c"></span></td></tr><tr><th id="L168"><a href="javascript:setLineNum(168)">168</a></th><td></td></tr><tr><th id="L169"><a href="javascript:setLineNum(169)">169</a></th><td>                <span class="nv">dtmp</span><span class="p">(</span><span class="nv">jk</span><span class="p">)</span><span class="o">=</span><span class="mf">1.0</span><span class="o">/</span><span class="p">(</span><span class="nv">e3t_0</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">))</span><span class="o">*</span><span class="p">(</span><span class="nv">Rad2</span><span class="o">-</span><span class="nv">Rad1</span><span class="p">)</span> <span class="c">!change in temperature</span></td></tr><tr><th id="L170"><a href="javascript:setLineNum(170)">170</a></th><td><span class="c"></span>                <span class="nv">tsa</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">,</span><span class="nv">jp_tem</span><span class="p">)</span> <span class="o">=</span> <span class="nv">tsa</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">,</span><span class="nv">jp_tem</span><span class="p">)</span> <span class="o">+</span> <span class="nv">dtmp</span><span class="p">(</span><span class="nv">jk</span><span class="p">)</span></td></tr><tr><th id="L171"><a href="javascript:setLineNum(171)">171</a></th><td>         <span class="nv">enddo</span>  <span class="c">! ji</span></td></tr><tr><th id="L172"><a href="javascript:setLineNum(172)">172</a></th><td><span class="c"></span>         <span class="nv">enddo</span>  <span class="c">! jj</span></td></tr><tr><th id="L173"><a href="javascript:setLineNum(173)">173</a></th><td><span class="c"></span>             <span class="nv">enddo</span> <span class="c">!jk</span></td></tr><tr><th id="L174"><a href="javascript:setLineNum(174)">174</a></th><td><span class="c"></span></td></tr><tr><th id="L175"><a href="javascript:setLineNum(175)">175</a></th><td></td></tr><tr><th id="L176"><a href="javascript:setLineNum(176)">176</a></th><td>      <span class="k">IF</span><span class="p">(</span> <span class="nv">l_trdtra</span> <span class="p">)</span> <span class="k">THEN</span>     <span class="c">! qsr tracers trends saved for diagnostics</span></td></tr><tr><th id="L177"><a href="javascript:setLineNum(177)">177</a></th><td><span class="c"></span>         <span class="nv">ztrdt</span><span class="p">(:,:,:)</span> <span class="o">=</span> <span class="nv">tsa</span><span class="p">(:,:,:,</span><span class="nv">jp_tem</span><span class="p">)</span> <span class="o">-</span> <span class="nv">ztrdt</span><span class="p">(:,:,:)</span></td></tr><tr><th id="L178"><a href="javascript:setLineNum(178)">178</a></th><td>         <span class="c">!CEODCALL trd_mod( ztrdt, ztrds, jptra_trd_qsr, 'TRA', kt )</span></td></tr><tr><th id="L179"><a href="javascript:setLineNum(179)">179</a></th><td><span class="c"></span>      <span class="k">ENDIF</span></td></tr><tr><th id="L180"><a href="javascript:setLineNum(180)">180</a></th><td>      <span class="c">!                       ! print mean trends (used for debugging)</span></td></tr><tr><th id="L181"><a href="javascript:setLineNum(181)">181</a></th><td><span class="c"></span>      <span class="k">IF</span><span class="p">(</span><span class="nv">ln_ctl</span><span class="p">)</span>   <span class="k">CALL </span><span class="nv">prt_ctl</span><span class="p">(</span> <span class="nv">tab3d_1</span><span class="o">=</span><span class="nv">tsa</span><span class="p">(:,:,:,</span><span class="nv">jp_tem</span><span class="p">),</span> <span class="nv">clinfo1</span><span class="o">=</span><span class="s1">' qsr  - Ta: '</span><span class="p">,</span> <span class="nv">mask1</span><span class="o">=</span><span class="nv">tmask</span><span class="p">,</span> <span class="nv">clinfo3</span><span class="o">=</span><span class="s1">'tra-ta'</span> <span class="p">)</span></td></tr><tr><th id="L182"><a href="javascript:setLineNum(182)">182</a></th><td>      <span class="c">!</span></td></tr><tr><th id="L183"><a href="javascript:setLineNum(183)">183</a></th><td><span class="c"></span>   <span class="k">END SUBROUTINE </span><span class="nv">tra_dwl</span></td></tr><tr><th id="L184"><a href="javascript:setLineNum(184)">184</a></th><td></td></tr><tr><th id="L185"><a href="javascript:setLineNum(185)">185</a></th><td></td></tr><tr><th id="L186"><a href="javascript:setLineNum(186)">186</a></th><td>   <span class="k">SUBROUTINE </span><span class="nv">tra_dwl_init</span></td></tr><tr><th id="L187"><a href="javascript:setLineNum(187)">187</a></th><td>      <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L188"><a href="javascript:setLineNum(188)">188</a></th><td><span class="c"></span>      <span class="c">!!                  ***  ROUTINE tra_dwl_init  ***</span></td></tr><tr><th id="L189"><a href="javascript:setLineNum(189)">189</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L190"><a href="javascript:setLineNum(190)">190</a></th><td><span class="c"></span>      <span class="c">!! ** Purpose :   Initialization for the penetrative solar radiation for Downwell routine</span></td></tr><tr><th id="L191"><a href="javascript:setLineNum(191)">191</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L192"><a href="javascript:setLineNum(192)">192</a></th><td><span class="c"></span>      <span class="c">!! ** Method  :   The profile of solar radiation within the ocean is set</span></td></tr><tr><th id="L193"><a href="javascript:setLineNum(193)">193</a></th><td><span class="c"></span>      <span class="c">!!      from two length scale of penetration (rn_si0,rn_si1) and a ratio</span></td></tr><tr><th id="L194"><a href="javascript:setLineNum(194)">194</a></th><td><span class="c"></span>      <span class="c">!!      (rn_abs). These parameters are read in the namtra_qsr namelist. The</span></td></tr><tr><th id="L195"><a href="javascript:setLineNum(195)">195</a></th><td><span class="c"></span>      <span class="c">!!      default values correspond to clear water (type I in Jerlov' </span></td></tr><tr><th id="L196"><a href="javascript:setLineNum(196)">196</a></th><td><span class="c"></span>      <span class="c">!!      (1968) classification.</span></td></tr><tr><th id="L197"><a href="javascript:setLineNum(197)">197</a></th><td><span class="c"></span>      <span class="c">!!         called by tra_qsr at the first timestep (nit000)</span></td></tr><tr><th id="L198"><a href="javascript:setLineNum(198)">198</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L199"><a href="javascript:setLineNum(199)">199</a></th><td><span class="c"></span>      <span class="c">!! ** Action  : - initialize rn_si0, rn_si1 and rn_abs</span></td></tr><tr><th id="L200"><a href="javascript:setLineNum(200)">200</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L201"><a href="javascript:setLineNum(201)">201</a></th><td><span class="c"></span>      <span class="c">!! Reference : Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp.</span></td></tr><tr><th id="L202"><a href="javascript:setLineNum(202)">202</a></th><td><span class="c"></span>      <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L203"><a href="javascript:setLineNum(203)">203</a></th><td><span class="c"></span>      <span class="kt">INTEGER</span>  <span class="kd">::</span>   <span class="nv">ji</span><span class="p">,</span> <span class="nv">jj</span><span class="p">,</span> <span class="nv">jk</span>            <span class="c">! dummy loop indices</span></td></tr><tr><th id="L204"><a href="javascript:setLineNum(204)">204</a></th><td><span class="c"></span>      <span class="kt">INTEGER</span>  <span class="kd">::</span>   <span class="nv">ios</span>                   <span class="c">! Local integer output status for namelist read</span></td></tr><tr><th id="L205"><a href="javascript:setLineNum(205)">205</a></th><td><span class="c"></span>      <span class="kt">INTEGER</span>  <span class="kd">::</span>   <span class="nv">irgb</span><span class="p">,</span> <span class="nv">ierror</span>          <span class="c">! temporary integer</span></td></tr><tr><th id="L206"><a href="javascript:setLineNum(206)">206</a></th><td><span class="c"></span>      <span class="kt">INTEGER</span>  <span class="kd">::</span>   <span class="nv">ioptio</span><span class="p">,</span> <span class="nv">nqsr</span>          <span class="c">! temporary integer</span></td></tr><tr><th id="L207"><a href="javascript:setLineNum(207)">207</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">zc0</span>  <span class="p">,</span> <span class="nv">zc1</span>            <span class="c">! temporary scalars</span></td></tr><tr><th id="L208"><a href="javascript:setLineNum(208)">208</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">zc2</span>  <span class="p">,</span> <span class="nv">zc3</span>  <span class="p">,</span> <span class="nv">zchl</span>    <span class="c">!    -         -</span></td></tr><tr><th id="L209"><a href="javascript:setLineNum(209)">209</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">zsi0r</span><span class="p">,</span> <span class="nv">zsi1r</span><span class="p">,</span> <span class="nv">zcoef</span>   <span class="c">!    -         -</span></td></tr><tr><th id="L210"><a href="javascript:setLineNum(210)">210</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">)</span>     <span class="kd">::</span>   <span class="nv">zekb</span><span class="p">,</span> <span class="nv">zekg</span><span class="p">,</span> <span class="nv">zekr</span>              <span class="c">! 2D workspace</span></td></tr><tr><th id="L211"><a href="javascript:setLineNum(211)">211</a></th><td><span class="c"></span>      <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">,</span><span class="nv">jpk</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">ze0</span> <span class="p">,</span> <span class="nv">ze1</span> <span class="p">,</span> <span class="nv">ze2</span> <span class="p">,</span> <span class="nv">ze3</span> <span class="p">,</span> <span class="nv">zea</span>   <span class="c">! 3D workspace</span></td></tr><tr><th id="L212"><a href="javascript:setLineNum(212)">212</a></th><td><span class="c"></span>      <span class="c">!!</span></td></tr><tr><th id="L213"><a href="javascript:setLineNum(213)">213</a></th><td><span class="c"></span>      <span class="kt">CHARACTER</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span> <span class="kd">::</span>   <span class="nv">cn_dir</span>   <span class="c">! Root directory for location of ssr files</span></td></tr><tr><th id="L214"><a href="javascript:setLineNum(214)">214</a></th><td><span class="c"></span>      <span class="k">TYPE</span><span class="p">(</span><span class="nv">FLD_N</span><span class="p">)</span>        <span class="kd">::</span>   <span class="nv">sn_chl</span>   <span class="c">! informations about the chlorofyl field to be read</span></td></tr><tr><th id="L215"><a href="javascript:setLineNum(215)">215</a></th><td><span class="c"></span>      <span class="k">NAMELIST</span><span class="o">/</span><span class="nv">namtra_dwl</span><span class="o">/</span>  <span class="nv">ln_tradwl</span><span class="p">,</span> <span class="nv">ln_vary_lambda</span></td></tr><tr><th id="L216"><a href="javascript:setLineNum(216)">216</a></th><td>      <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L217"><a href="javascript:setLineNum(217)">217</a></th><td><span class="c"></span></td></tr><tr><th id="L218"><a href="javascript:setLineNum(218)">218</a></th><td>      <span class="k">REWIND</span><span class="p">(</span> <span class="nv">numnam_ref</span> <span class="p">)</span>            <span class="c">! Read Namelist namtra_dwl in reference namelist :</span></td></tr><tr><th id="L219"><a href="javascript:setLineNum(219)">219</a></th><td><span class="c"></span>      <span class="k">READ</span>  <span class="p">(</span> <span class="nv">numnam_ref</span><span class="p">,</span> <span class="nv">namtra_dwl</span><span class="p">,</span> <span class="nv">IOSTAT</span> <span class="o">=</span> <span class="nv">ios</span><span class="p">,</span> <span class="nv">ERR</span> <span class="o">=</span> <span class="mi">901</span><span class="p">)</span></td></tr><tr><th id="L220"><a href="javascript:setLineNum(220)">220</a></th><td><span class="mi">901</span>   <span class="k">IF</span><span class="p">(</span> <span class="nv">ios</span> <span class="o">/=</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">CALL </span><span class="nv">ctl_nam</span> <span class="p">(</span> <span class="nv">ios</span> <span class="p">,</span> <span class="s1">'namtra_qsr in reference namelist'</span><span class="p">,</span> <span class="nv">lwp</span> <span class="p">)</span></td></tr><tr><th id="L221"><a href="javascript:setLineNum(221)">221</a></th><td>      </td></tr><tr><th id="L222"><a href="javascript:setLineNum(222)">222</a></th><td>      <span class="k">REWIND</span><span class="p">(</span> <span class="nv">numnam_cfg</span> <span class="p">)</span>            <span class="c">! Read Namelist namtra_dwl in configuration namelist :</span></td></tr><tr><th id="L223"><a href="javascript:setLineNum(223)">223</a></th><td><span class="c"></span>      <span class="k">READ</span>  <span class="p">(</span> <span class="nv">numnam_cfg</span><span class="p">,</span> <span class="nv">namtra_dwl</span><span class="p">,</span> <span class="nv">IOSTAT</span> <span class="o">=</span> <span class="nv">ios</span><span class="p">,</span> <span class="nv">ERR</span> <span class="o">=</span> <span class="mi">902</span><span class="p">)</span></td></tr><tr><th id="L224"><a href="javascript:setLineNum(224)">224</a></th><td><span class="mi">902</span>   <span class="k">IF</span><span class="p">(</span> <span class="nv">ios</span> <span class="o">/=</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">CALL </span><span class="nv">ctl_nam</span> <span class="p">(</span> <span class="nv">ios</span> <span class="p">,</span> <span class="s1">'namtra_qsr in configuration namelist'</span><span class="p">,</span> <span class="nv">lwp</span> <span class="p">)</span></td></tr><tr><th id="L225"><a href="javascript:setLineNum(225)">225</a></th><td>      <span class="c">!</span></td></tr><tr><th id="L226"><a href="javascript:setLineNum(226)">226</a></th><td><span class="c"></span>      <span class="k">IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">THEN</span>                <span class="c">! control print</span></td></tr><tr><th id="L227"><a href="javascript:setLineNum(227)">227</a></th><td><span class="c"></span>         <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span></td></tr><tr><th id="L228"><a href="javascript:setLineNum(228)">228</a></th><td>         <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'tra_dwl_init : '</span></td></tr><tr><th id="L229"><a href="javascript:setLineNum(229)">229</a></th><td>         <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'~~~~~~~~~~~~'</span></td></tr><tr><th id="L230"><a href="javascript:setLineNum(230)">230</a></th><td>         <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'   Namelist namtra_dwl : set the parameter of penetration'</span></td></tr><tr><th id="L231"><a href="javascript:setLineNum(231)">231</a></th><td>         <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'      Light penetration (T) or not (F)         ln_tradwl  = '</span><span class="p">,</span> <span class="nv">ln_tradwl</span></td></tr><tr><th id="L232"><a href="javascript:setLineNum(232)">232</a></th><td>         <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'      Vary Lambda  (T) or not (F))             ln_vary_lambda  = '</span><span class="p">,</span> <span class="nv">ln_vary_lambda</span></td></tr><tr><th id="L233"><a href="javascript:setLineNum(233)">233</a></th><td>      <span class="k">ENDIF</span></td></tr><tr><th id="L234"><a href="javascript:setLineNum(234)">234</a></th><td><span class="k"></span></td></tr><tr><th id="L235"><a href="javascript:setLineNum(235)">235</a></th><td><span class="k">   END SUBROUTINE </span><span class="nv">tra_dwl_init</span></td></tr><tr><th id="L236"><a href="javascript:setLineNum(236)">236</a></th><td></td></tr><tr><th id="L237"><a href="javascript:setLineNum(237)">237</a></th><td>   <span class="c">!!======================================================================</span></td></tr><tr><th id="L238"><a href="javascript:setLineNum(238)">238</a></th><td><span class="c"></span><span class="k">END MODULE </span><span class="nv">tradwl</span></td></tr></tbody></table> 
    171  
    172       </div> 
    173       <div id="anydiff"> 
    174         <form action="/nemo/diff" method="get"> 
    175           <div class="buttons"> 
    176             <input type="hidden" name="new_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 
    177             <input type="hidden" name="old_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 
    178             <input type="hidden" name="new_rev" value="7120" /> 
    179             <input type="hidden" name="old_rev" value="7120" /> 
    180             <input type="submit" value="View changes..." title="Select paths and revs for Diff" /> 
    181           </div> 
    182         </form> 
    183       </div> 
    184       <div id="help"><strong>Note:</strong> See <a href="/nemo/wiki/TracBrowser">TracBrowser</a> 
    185         for help on using the repository browser.</div> 
    186     </div> 
    187     <div id="altlinks"> 
    188       <h3>Download in other formats:</h3> 
    189       <ul> 
    190         <li class="first"> 
    191           <a rel="nofollow" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120&amp;format=txt">Plain Text</a> 
    192         </li><li class="last"> 
    193           <a rel="nofollow" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90">Original Format</a> 
    194         </li> 
    195       </ul> 
    196     </div> 
    197     </div> 
    198     <div id="footer" lang="en" xml:lang="en"><hr /> 
    199       <a id="tracpowered" href="http://trac.edgewall.org/"><img src="/nemo/chrome/common/trac_logo_mini.png" height="30" width="107" alt="Trac Powered" /></a> 
    200       <p class="left">Powered by <a href="/nemo/about"><strong>Trac 1.0.1</strong></a><br /> 
    201         By <a href="http://www.edgewall.org/">Edgewall Software</a>.</p> 
    202       <p class="right">Visit the <b><a href="http://www.nemo-ocean.eu">NEMO website</a></b></p> 
    203     </div> 
    204       <div id="sitefooter"> 
    205       </div> 
    206    </body> 
    207 </html> 
     1MODULE tradwl 
     2   !!====================================================================== 
     3   !!                       ***  MODULE  tradwl  *** 
     4   !! Ocean physics: solar radiation penetration in the top ocean levels 
     5   !!====================================================================== 
     6   !! History :  POLCOMS  !  1996-10  (J. Holt)  Original code 
     7   !!   NEMO     3.2  !  2010-03  (E. O'Dea)  Import to Nemo for use in Shelf Model 
     8   !!---------------------------------------------------------------------- 
     9 
     10   !!---------------------------------------------------------------------- 
     11   !!   tra_dwl      : trend due to the solar radiation penetration 
     12   !!   tra_dwl_init : solar radiation penetration initialization 
     13   !!---------------------------------------------------------------------- 
     14   USE oce             ! ocean dynamics and active tracers 
     15   USE dom_oce         ! ocean space and time domain 
     16   USE sbc_oce         ! surface boundary condition: ocean 
     17   USE trc_oce         ! share SMS/Ocean variables 
     18   USE trd_oce         ! trends: ocean variables 
     19   USE trdtra          ! ocean active tracers trends  
     20   USE in_out_manager  ! I/O manager 
     21   USE phycst          ! physical constants 
     22   USE prtctl          ! Print control 
     23   USE iom             ! I/O manager 
     24   USE fldread         ! read input fields 
     25 
     26   IMPLICIT NONE 
     27   PRIVATE 
     28 
     29   PUBLIC   tra_dwl        ! routine called by step.F90 (ln_tradwl=T) 
     30 
     31   !                                           !!* Namelist namtra_qsr: penetrative solar radiation 
     32   LOGICAL , PUBLIC ::   ln_tradwl  = .TRUE.    ! light absorption (dwl) flag 
     33   LOGICAL , PUBLIC ::   ln_vary_lambda  = .TRUE.    ! vary Lambda or not flag 
     34    
     35   !! * Substitutions 
     36#  include "domzgr_substitute.h90" 
     37#  include "vectopt_loop_substitute.h90" 
     38   !!---------------------------------------------------------------------- 
     39   !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
     40   !! $Id$ 
     41   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     42   !!---------------------------------------------------------------------- 
     43 
     44CONTAINS 
     45 
     46   SUBROUTINE tra_dwl( kt ) 
     47      !!---------------------------------------------------------------------- 
     48      !!                  ***  ROUTINE tra_qsr  *** 
     49      !! 
     50      !! ** Purpose :   Compute the temperature trend due to the solar radiation 
     51      !!      penetration and add it to the general temperature trend. 
     52      !! 
     53      !! ** Method  : The profile of the solar radiation within the ocean is defined 
     54      !! 
     55      !!          Jason Holt Oct 96 
     56      !! 
     57      !!          Calculates change in temperature due to penetrating 
     58      !!          radiation, with cooling at the surface layer 
     59      !! 
     60      !!          rad=rad0*exp(lambda*z) 
     61      !! 
     62      !!       Heat input into box is between z=K and z=K+1 is RAD(K)-RAD(K+1) 
     63      !! 
     64      !! 
     65      !! ** Action  : - update ta with the penetrative solar radiation trend 
     66      !!              - save the trend in ttrd ('key_trdtra') 
     67      !! 
     68      !!---------------------------------------------------------------------- 
     69      USE oce, ONLY :   ztrdt => ua   ! use ua as 3D workspace    
     70      USE oce, ONLY :   ztrds => va   ! use va as 3D workspace    
     71      !! 
     72      INTEGER, INTENT(in) ::   kt     ! ocean time-step 
     73      !! 
     74      INTEGER  ::   ji, jj, jk           ! dummy loop indices 
     75      INTEGER  ::   irgb                 ! temporary integers 
     76      REAL(wp) ::   zchl, zcoef, zsi0r   ! temporary scalars 
     77      REAL(wp) ::   zc0, zc1, zc2, zc3   !    -         - 
     78      REAL(wp), DIMENSION(jpi,jpj)     ::   zekb, zekg, zekr            ! 2D workspace 
     79      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ze0, ze1 , ze2, ze3, zea    ! 3D workspace 
     80      !!---------------------------------------------------------------------- 
     81      !! HERE GO VARIABLES USED IN POLCOMS CLEAN UP LATER 
     82 
     83      integer i,j,k 
     84!      real*8 dtmp(n-1) 
     85      real*8 dtmp(jpkm1) 
     86      real*8 z1,z2,Rad0,Rad1,Rad2,rD,SurfOut,cp 
     87      logical first 
     88      save first 
     89      data first/.true./ 
     90      !!--------------------------End of POLCOMS variables Note instead of using saves 
     91      !!--------------------------Could shift this into initial code 
     92 
     93      IF( kt == nit000 ) THEN 
     94         IF(lwp) WRITE(numout,*) 
     95         IF(lwp) WRITE(numout,*) 'tra_dwl : penetration of the surface solar radiation' 
     96         IF(lwp) WRITE(numout,*) '~~~~~~~' 
     97         CALL tra_dwl_init 
     98         IF( .NOT.ln_tradwl )   RETURN 
     99      ENDIF 
     100 
     101      IF( l_trdtra ) THEN      ! Save ta and sa trends 
     102         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
     103         ztrds(:,:,:) = 0.e0 
     104      ENDIF 
     105!-------------------------------------------------------------------- 
     106!  Set transmissivity 
     107!-------------------------------------------------------------------- 
     108! 
     109!  Normal value 
     110! 
     111!--------------------------------------------------------------------------- 
     112! 
     113!  Convert Heat fluxes to units used in POL subroutine dwl 
     114! 
     115!--------------------------------------------------------------------------- 
     116      cp=3986.0d0 
     117 
     118    DO jj = 2, jpj 
     119         DO ji = fs_2, fs_jpim1 
     120           qsr(ji,jj)  = qsr(ji,jj)  * (r1_rau0_rcp) 
     121         ENDDO       !ji 
     122    ENDDO            !jj 
     123!-------------------------------------------------------------------------------- 
     124      if ( first ) then 
     125        rlambda2(:,:) = 0.0 
     126        first=.false. 
     127           if ( ln_vary_lambda ) then 
     128!        do j=1,jesub    ! Original Polcoms style Loop 
     129!          do i=1,iesub  ! Original Polcoms style Loop 
     130 
     131        do jj=2,jpjm1 
     132          do ji = fs_2, fs_jpim1   ! vector opt. 
     133 
     134!            if(ipexb(i,j).ne. 0) then  (Mask, use Tmask instead) 
     135 
     136              rlambda2(ji,jj)=-0.033*log(hbatt(ji,jj))+0.2583    ! JIAs formula 
     137              rlambda2(ji,jj)=max(0.05,rlambda2(ji,jj))     ! limit in deep water 
     138          enddo ! ji 
     139        enddo ! jj 
     140      rlambda = 0.0 
     141       else 
     142      rLambda=0.154 
     143       endif ! If vary lambda 
     144      endif ! If first 
     145 
     146!      do j=1,jesub      ! Original Polcoms Style Loop 
     147!        do i=1,iesub    ! Original Polcoms Style Loop 
     148              do jk=2,jpk 
     149        DO jj=2,jpjm1 
     150            DO ji = fs_2, fs_jpim1   ! vector opt. 
     151 
     152!-------------------------------------------------------------------- 
     153! Calculate change in temperature 
     154!-------------------------------------------------------------------- 
     155! 
     156!        rad0 = hfl_in(i,j)   ! change hfl_in to qsr I assume 
     157 
     158               rad0 = qsr(ji,jj) 
     159                     rD = rLambda2(ji,jj)  +rLambda      !  Transmissivity to be used here 
     160!       if rlambda 0 then rlambda2 not zer and vica versa  
     161 
     162                z2=gdepw_0(ji,jj,jk-1)    ! grid box is from z=z1 to z=z2 
     163                z1=gdepw_0(ji,jj,jk) 
     164 
     165                Rad2=Rad0*(exp(-z2*rD)) ! radiation entering box 
     166                Rad1=Rad0*(exp(-z1*rD)) ! radiation leaving box 
     167 
     168 
     169                dtmp(jk)=1.0/(e3t_0(ji,jj,jk))*(Rad2-Rad1) !change in temperature 
     170                tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) + dtmp(jk) 
     171         enddo  ! ji 
     172         enddo  ! jj 
     173             enddo !jk 
     174 
     175 
     176      IF( l_trdtra ) THEN     ! qsr tracers trends saved for diagnostics 
     177         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 
     178         !CEODCALL trd_mod( ztrdt, ztrds, jptra_trd_qsr, 'TRA', kt ) 
     179      ENDIF 
     180      !                       ! print mean trends (used for debugging) 
     181      IF(ln_ctl)   CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' qsr  - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 
     182      ! 
     183   END SUBROUTINE tra_dwl 
     184 
     185 
     186   SUBROUTINE tra_dwl_init 
     187      !!---------------------------------------------------------------------- 
     188      !!                  ***  ROUTINE tra_dwl_init  *** 
     189      !! 
     190      !! ** Purpose :   Initialization for the penetrative solar radiation for Downwell routine 
     191      !! 
     192      !! ** Method  :   The profile of solar radiation within the ocean is set 
     193      !!      from two length scale of penetration (rn_si0,rn_si1) and a ratio 
     194      !!      (rn_abs). These parameters are read in the namtra_qsr namelist. The 
     195      !!      default values correspond to clear water (type I in Jerlov'  
     196      !!      (1968) classification. 
     197      !!         called by tra_qsr at the first timestep (nit000) 
     198      !! 
     199      !! ** Action  : - initialize rn_si0, rn_si1 and rn_abs 
     200      !! 
     201      !! Reference : Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp. 
     202      !!---------------------------------------------------------------------- 
     203      INTEGER  ::   ji, jj, jk            ! dummy loop indices 
     204      INTEGER  ::   ios                   ! Local integer output status for namelist read 
     205      INTEGER  ::   irgb, ierror          ! temporary integer 
     206      INTEGER  ::   ioptio, nqsr          ! temporary integer 
     207      REAL(wp) ::   zc0  , zc1            ! temporary scalars 
     208      REAL(wp) ::   zc2  , zc3  , zchl    !    -         - 
     209      REAL(wp) ::   zsi0r, zsi1r, zcoef   !    -         - 
     210      REAL(wp), DIMENSION(jpi,jpj)     ::   zekb, zekg, zekr              ! 2D workspace 
     211      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ze0 , ze1 , ze2 , ze3 , zea   ! 3D workspace 
     212      !! 
     213      CHARACTER(len=100) ::   cn_dir   ! Root directory for location of ssr files 
     214      TYPE(FLD_N)        ::   sn_chl   ! informations about the chlorofyl field to be read 
     215      NAMELIST/namtra_dwl/  ln_tradwl, ln_vary_lambda 
     216      !!---------------------------------------------------------------------- 
     217 
     218      REWIND( numnam_ref )            ! Read Namelist namtra_dwl in reference namelist : 
     219      READ  ( numnam_ref, namtra_dwl, IOSTAT = ios, ERR = 901) 
     220901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in reference namelist', lwp ) 
     221       
     222      REWIND( numnam_cfg )            ! Read Namelist namtra_dwl in configuration namelist : 
     223      READ  ( numnam_cfg, namtra_dwl, IOSTAT = ios, ERR = 902) 
     224902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist', lwp ) 
     225      ! 
     226      IF(lwp) THEN                ! control print 
     227         WRITE(numout,*) 
     228         WRITE(numout,*) 'tra_dwl_init : ' 
     229         WRITE(numout,*) '~~~~~~~~~~~~' 
     230         WRITE(numout,*) '   Namelist namtra_dwl : set the parameter of penetration' 
     231         WRITE(numout,*) '      Light penetration (T) or not (F)         ln_tradwl  = ', ln_tradwl 
     232         WRITE(numout,*) '      Vary Lambda  (T) or not (F))             ln_vary_lambda  = ', ln_vary_lambda 
     233      ENDIF 
     234 
     235   END SUBROUTINE tra_dwl_init 
     236 
     237   !!====================================================================== 
     238END MODULE tradwl 
  • branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/step_oce.F90

    r7452 r7454  
    3131 
    3232   USE traqsr           ! solar radiation penetration      (tra_qsr routine) 
    33    USE tradwl           ! POLCOMS style solar radiation    (tra_dwl routine) 
     33   USE tradwl           ! POLCOMS style solar radiation    (tra_dwl routine)  
    3434   USE trasbc           ! surface boundary condition       (tra_sbc routine) 
    3535   USE trabbc           ! bottom boundary condition        (tra_bbc routine) 
  • branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/trc_oce.F90

    r7452 r7454  
    2727   REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:,:) ::   etot3         !: light absortion coefficient 
    2828   REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:,:) ::   facvol        !: volume for degraded regions 
    29    REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   rlambda2      !: Lambda2 for downwell version of Short wave Radiation   
     29   REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   rlambda2      !: Lambda2 for downwell version of Short wave Radiation 
    3030   REAL(wp), PUBLIC                                      ::   rlambda       !: Lambda  for downwell version of Short wave Radiation 
    3131 
     
    8585                     ALLOCATE( etot3 (jpi,jpj,jpk), STAT=ierr(1) ) 
    8686      IF( lk_degrad) ALLOCATE( facvol(jpi,jpj,jpk), STAT=ierr(2) ) 
    87                      ALLOCATE( rlambda2(jpi,jpj),   STAT=ierr(3) ) 
     87                    ALLOCATE( rlambda2(jpi,jpj),   STAT=ierr(3) ) 
    8888      trc_oce_alloc  = MAXVAL( ierr ) 
    8989      ! 
    90 !      IF( trc_oce_alloc /= 0 )   CALL ctl_warn('trc_oce_alloc: failed to allocate etot3 array') 
     90      IF( trc_oce_alloc /= 0 )   CALL ctl_warn('trc_oce_alloc: failed to allocate etot3 array') 
    9191      IF( trc_oce_alloc /= 0 )   CALL ctl_warn('trc_oce_alloc: failed to allocate etot3, facvol or rlambda2 array') 
    9292   END FUNCTION trc_oce_alloc 
Note: See TracChangeset for help on using the changeset viewer.