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 10251 for branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/TOOLS/SIREN/src/function.f90 – NEMO

Ignore:
Timestamp:
2018-10-29T15:20:26+01:00 (5 years ago)
Author:
kingr
Message:

Rolled back to r10247 - i.e., undid merge of pkg br and 3.6_stable br

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/TOOLS/SIREN/src/function.f90

    r10248 r10251  
    5151!> @endcode 
    5252!> 
    53 !>  to check if character is real 
    54 !> @code 
    55 !>  ll_is_real=fct_is_real(cd_var) 
    56 !> @endcode 
    57 !> 
    5853!>  to split string into substring and return one of the element:<br/>   
    5954!> @code 
     
    9489! REVISION HISTORY: 
    9590!> @date November, 2013 - Initial Version 
    96 !> @date September, 2014  
    97 !> - add header 
     91!> @date September, 2014 - add header 
    9892! 
    9993!> @note Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    112106   PUBLIC :: fct_lower    !< convert character from upper to lower case 
    113107   PUBLIC :: fct_is_num   !< check if character is numeric 
    114    PUBLIC :: fct_is_real  !< check if character is real 
    115108   PUBLIC :: fct_split    !< split string into substring 
    116109   PUBLIC :: fct_basename !< return basename (name without path) 
     
    160153   !  
    161154   !> @author J.Paul  
    162    !> @date September, 2014 - Initial Version  
     155   !> - September, 2014- Initial Version  
    163156   !  
    164157   !> @param[in] cd_char   string character 
     
    184177   !  
    185178   !> @author J.Paul  
    186    !> @date September, 2014 - Initial Version  
     179   !> - September, 2014- Initial Version  
    187180   !  
    188181   !> @param[in] cd_char   string character 
     
    208201   !  
    209202   !> @author J.Paul  
    210    !> @date November, 2013 - Initial Version  
     203   !> - Nov, 2013- Initial Version  
    211204   !  
    212205   !> @param[in] cd_char   string character 
     
    232225   !  
    233226   !> @author J.Paul  
    234    !> @date November, 2013 - Initial Version  
     227   !> - November, 2013- Initial Version  
    235228   !  
    236229   !> @param[in] cd_char   string character 
     
    256249   !  
    257250   !> @author J.Paul  
    258    !> @date November, 2013 - Initial Version  
     251   !> - November, 2013- Initial Version  
    259252   !  
    260253   !> @param[in] cd_char   string character 
     
    280273   !> 
    281274   !> @author J.Paul  
    282    !> @date November, 2013 - Initial Version  
     275   !> - November, 2013- Initial Version  
    283276   !> 
    284277   !> @param[in] cd_char   string character 
     
    304297   !> 
    305298   !> @author J.Paul  
    306    !> @date November, 2013 - Initial Version  
     299   !> - November, 2013- Initial Version  
    307300   !> 
    308301   !> @param[in] cd_char   string character 
     
    328321   !> 
    329322   !> @author J.Paul  
    330    !> @date November, 2013 - Initial Version  
     323   !> - November, 2013- Initial Version  
    331324   !> 
    332325   !> @return file id  
     
    351344   ! 
    352345   !> @author J.Paul 
    353    !> @date November, 2013 - Initial Version 
     346   !> - November, 2013- Initial Version 
    354347   !> 
    355348   !> @param[in] id_status 
     
    372365   ! 
    373366   !> @author J.Paul 
    374    !> @date November, 2014 - Initial Version 
     367   !> - November, 2014- Initial Version 
    375368   !> 
    376369   !> @param[in] cd_msg optional message to be added 
     
    394387   !> 
    395388   !> @author J.Paul 
    396    !> @date November, 2013 - Initial Version 
     389   !> - November, 2013- Initial Version 
    397390   ! 
    398391   !> @param[in] ld_var logical variable 
     
    416409   !> 
    417410   !> @author J.Paul 
    418    !> @date November, 2013 - Initial Version 
     411   !> - November, 2013- Initial Version 
    419412   ! 
    420413   !> @param[in] bd_var integer(1) variable 
     
    438431   !> 
    439432   !> @author J.Paul 
    440    !> @date November, 2013 - Initial Version 
     433   !> - November, 2013- Initial Version 
    441434   ! 
    442435   !> @param[in] sd_var integer(2) variable 
     
    460453   !> 
    461454   !> @author J.Paul 
    462    !> @date November, 2013 - Initial Version 
     455   !> - November, 2013- Initial Version 
    463456   ! 
    464457   !> @param[in] id_var integer(4) variable 
     
    482475   !> 
    483476   !> @author J.Paul 
    484    !> @date November, 2013 - Initial Version 
     477   !> - November, 2013- Initial Version 
    485478   ! 
    486479   !> @param[in] kd_var integer(8) variable 
     
    504497   !> 
    505498   !> @author J.Paul 
    506    !> @date November, 2013 - Initial Version 
     499   !> - November, 2013- Initial Version 
    507500   ! 
    508501   !> @param[in] rd_var real(4) variable 
     
    526519   !> 
    527520   !> @author J.Paul 
    528    !> @date November, 2013 - Initial Version 
     521   !> - November, 2013- Initial Version 
    529522   ! 
    530523   !> @param[in] dd_var real(8) variable 
     
    551544   !> 
    552545   !> @author J.Paul 
    553    !> @date November, 2013 - Initial Version 
     546   !> - November, 2013- Initial Version 
    554547   ! 
    555548   !> @param[in] cd_arr array of character 
     
    597590   ! 
    598591   !> @author J.Paul 
    599    !> @date November, 2013 - Initial Version 
     592   !> - November, 2013- Initial Version 
    600593   ! 
    601594   !> @param[in] cd_var character 
     
    654647   ! 
    655648   !> @author J.Paul 
    656    !> @date November, 2013 - Initial Version 
     649   !> - November, 2013- Initial Version 
    657650   ! 
    658651   !> @param[in] cd_var character 
     
    704697   ! 
    705698   !> @author J.Paul 
    706    !> @date November, 2013 - Initial Version 
     699   !> - November, 2013- Initial Version 
    707700   ! 
    708701   !> @param[in] cd_var character 
     
    730723   END FUNCTION fct_is_num 
    731724   !------------------------------------------------------------------- 
    732    !> @brief This function check if character is real number. 
    733    ! 
    734    !> @details 
    735    !> it allows exponantial and decimal number 
    736    !> exemple :  1e6, 2.3 
    737    !> 
    738    !> @author J.Paul 
    739    !> @date June, 2015 - Initial Version 
    740    ! 
    741    !> @param[in] cd_var character 
    742    !> @return character is numeric 
    743    !------------------------------------------------------------------- 
    744    PURE LOGICAL FUNCTION fct_is_real(cd_var) 
    745       IMPLICIT NONE 
    746       ! Argument       
    747       CHARACTER(LEN=*), INTENT(IN) :: cd_var 
    748     
    749       ! local variables 
    750       LOGICAL :: ll_exp 
    751       LOGICAL :: ll_dec 
    752     
    753       ! loop indices 
    754       INTEGER :: ji 
    755       !---------------------------------------------------------------- 
    756     
    757       ll_exp=.TRUE. 
    758       ll_dec=.FALSE. 
    759       DO ji=1,LEN(TRIM(cd_var)) 
    760          IF( IACHAR(cd_var(ji:ji)) >= IACHAR('0') .AND. & 
    761          &   IACHAR(cd_var(ji:ji)) <= IACHAR('9') )THEN 
    762     
    763             fct_is_real=.TRUE. 
    764             ll_exp=.FALSE. 
    765        
    766          ELSEIF( TRIM(cd_var(ji:ji))=='e' )THEN 
    767           
    768             IF( ll_exp .OR. ji== LEN(TRIM(cd_var)) )THEN 
    769                fct_is_real=.FALSE. 
    770                EXIT 
    771             ELSE  
    772                ll_exp=.TRUE. 
    773             ENDIF 
    774     
    775          ELSEIF( TRIM(cd_var(ji:ji))=='.' )THEN 
    776     
    777             IF( ll_dec )THEN 
    778                fct_is_real=.FALSE. 
    779                EXIT 
    780             ELSE 
    781                fct_is_real=.TRUE. 
    782                ll_dec=.TRUE. 
    783             ENDIF 
    784     
    785          ELSE 
    786     
    787             fct_is_real=.FALSE. 
    788             EXIT 
    789     
    790          ENDIF 
    791       ENDDO 
    792     
    793    END FUNCTION fct_is_real 
    794    !------------------------------------------------------------------- 
    795725   !> @brief This function split string of character  
    796726   !> using separator character, by default '|', 
     
    798728   ! 
    799729   !> @author J.Paul 
    800    !> @date November, 2013 - Initial Version 
     730   !> - November, 2013- Initial Version 
    801731   ! 
    802732   !> @param[in] cd_string string of character 
     
    878808   ! 
    879809   !> @author J.Paul 
    880    !> @date November, 2013 - Initial Version 
     810   !> - November, 2013- Initial Version 
    881811   ! 
    882812   !> @param[in] cd_string string of character 
     
    943873   !> Optionally you could specify another separator. 
    944874   !> @author J.Paul 
    945    !> @date November, 2013 - Initial Version 
     875   !> - November, 2013- Initial Version 
    946876   ! 
    947877   !> @param[in] cd_string filename 
     
    984914   !> Optionally you could specify another separator. 
    985915   !> @author J.Paul 
    986    !> @date November, 2013 - Initial Version 
     916   !> - November, 2013- Initial Version 
    987917   ! 
    988918   !> @param[in] cd_string filename 
Note: See TracChangeset for help on using the changeset viewer.