- Timestamp:
- 2018-10-29T15:20:26+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/TOOLS/SIREN/src/function.f90
r10248 r10251 51 51 !> @endcode 52 52 !> 53 !> to check if character is real54 !> @code55 !> ll_is_real=fct_is_real(cd_var)56 !> @endcode57 !>58 53 !> to split string into substring and return one of the element:<br/> 59 54 !> @code … … 94 89 ! REVISION HISTORY: 95 90 !> @date November, 2013 - Initial Version 96 !> @date September, 2014 97 !> - add header 91 !> @date September, 2014 - add header 98 92 ! 99 93 !> @note Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 112 106 PUBLIC :: fct_lower !< convert character from upper to lower case 113 107 PUBLIC :: fct_is_num !< check if character is numeric 114 PUBLIC :: fct_is_real !< check if character is real115 108 PUBLIC :: fct_split !< split string into substring 116 109 PUBLIC :: fct_basename !< return basename (name without path) … … 160 153 ! 161 154 !> @author J.Paul 162 !> @date September, 2014- Initial Version155 !> - September, 2014- Initial Version 163 156 ! 164 157 !> @param[in] cd_char string character … … 184 177 ! 185 178 !> @author J.Paul 186 !> @date September, 2014- Initial Version179 !> - September, 2014- Initial Version 187 180 ! 188 181 !> @param[in] cd_char string character … … 208 201 ! 209 202 !> @author J.Paul 210 !> @date November, 2013- Initial Version203 !> - Nov, 2013- Initial Version 211 204 ! 212 205 !> @param[in] cd_char string character … … 232 225 ! 233 226 !> @author J.Paul 234 !> @date November, 2013- Initial Version227 !> - November, 2013- Initial Version 235 228 ! 236 229 !> @param[in] cd_char string character … … 256 249 ! 257 250 !> @author J.Paul 258 !> @date November, 2013- Initial Version251 !> - November, 2013- Initial Version 259 252 ! 260 253 !> @param[in] cd_char string character … … 280 273 !> 281 274 !> @author J.Paul 282 !> @date November, 2013- Initial Version275 !> - November, 2013- Initial Version 283 276 !> 284 277 !> @param[in] cd_char string character … … 304 297 !> 305 298 !> @author J.Paul 306 !> @date November, 2013- Initial Version299 !> - November, 2013- Initial Version 307 300 !> 308 301 !> @param[in] cd_char string character … … 328 321 !> 329 322 !> @author J.Paul 330 !> @date November, 2013- Initial Version323 !> - November, 2013- Initial Version 331 324 !> 332 325 !> @return file id … … 351 344 ! 352 345 !> @author J.Paul 353 !> @date November, 2013- Initial Version346 !> - November, 2013- Initial Version 354 347 !> 355 348 !> @param[in] id_status … … 372 365 ! 373 366 !> @author J.Paul 374 !> @date November, 2014- Initial Version367 !> - November, 2014- Initial Version 375 368 !> 376 369 !> @param[in] cd_msg optional message to be added … … 394 387 !> 395 388 !> @author J.Paul 396 !> @date November, 2013- Initial Version389 !> - November, 2013- Initial Version 397 390 ! 398 391 !> @param[in] ld_var logical variable … … 416 409 !> 417 410 !> @author J.Paul 418 !> @date November, 2013- Initial Version411 !> - November, 2013- Initial Version 419 412 ! 420 413 !> @param[in] bd_var integer(1) variable … … 438 431 !> 439 432 !> @author J.Paul 440 !> @date November, 2013- Initial Version433 !> - November, 2013- Initial Version 441 434 ! 442 435 !> @param[in] sd_var integer(2) variable … … 460 453 !> 461 454 !> @author J.Paul 462 !> @date November, 2013- Initial Version455 !> - November, 2013- Initial Version 463 456 ! 464 457 !> @param[in] id_var integer(4) variable … … 482 475 !> 483 476 !> @author J.Paul 484 !> @date November, 2013- Initial Version477 !> - November, 2013- Initial Version 485 478 ! 486 479 !> @param[in] kd_var integer(8) variable … … 504 497 !> 505 498 !> @author J.Paul 506 !> @date November, 2013- Initial Version499 !> - November, 2013- Initial Version 507 500 ! 508 501 !> @param[in] rd_var real(4) variable … … 526 519 !> 527 520 !> @author J.Paul 528 !> @date November, 2013- Initial Version521 !> - November, 2013- Initial Version 529 522 ! 530 523 !> @param[in] dd_var real(8) variable … … 551 544 !> 552 545 !> @author J.Paul 553 !> @date November, 2013- Initial Version546 !> - November, 2013- Initial Version 554 547 ! 555 548 !> @param[in] cd_arr array of character … … 597 590 ! 598 591 !> @author J.Paul 599 !> @date November, 2013- Initial Version592 !> - November, 2013- Initial Version 600 593 ! 601 594 !> @param[in] cd_var character … … 654 647 ! 655 648 !> @author J.Paul 656 !> @date November, 2013- Initial Version649 !> - November, 2013- Initial Version 657 650 ! 658 651 !> @param[in] cd_var character … … 704 697 ! 705 698 !> @author J.Paul 706 !> @date November, 2013- Initial Version699 !> - November, 2013- Initial Version 707 700 ! 708 701 !> @param[in] cd_var character … … 730 723 END FUNCTION fct_is_num 731 724 !------------------------------------------------------------------- 732 !> @brief This function check if character is real number.733 !734 !> @details735 !> it allows exponantial and decimal number736 !> exemple : 1e6, 2.3737 !>738 !> @author J.Paul739 !> @date June, 2015 - Initial Version740 !741 !> @param[in] cd_var character742 !> @return character is numeric743 !-------------------------------------------------------------------744 PURE LOGICAL FUNCTION fct_is_real(cd_var)745 IMPLICIT NONE746 ! Argument747 CHARACTER(LEN=*), INTENT(IN) :: cd_var748 749 ! local variables750 LOGICAL :: ll_exp751 LOGICAL :: ll_dec752 753 ! loop indices754 INTEGER :: ji755 !----------------------------------------------------------------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') )THEN762 763 fct_is_real=.TRUE.764 ll_exp=.FALSE.765 766 ELSEIF( TRIM(cd_var(ji:ji))=='e' )THEN767 768 IF( ll_exp .OR. ji== LEN(TRIM(cd_var)) )THEN769 fct_is_real=.FALSE.770 EXIT771 ELSE772 ll_exp=.TRUE.773 ENDIF774 775 ELSEIF( TRIM(cd_var(ji:ji))=='.' )THEN776 777 IF( ll_dec )THEN778 fct_is_real=.FALSE.779 EXIT780 ELSE781 fct_is_real=.TRUE.782 ll_dec=.TRUE.783 ENDIF784 785 ELSE786 787 fct_is_real=.FALSE.788 EXIT789 790 ENDIF791 ENDDO792 793 END FUNCTION fct_is_real794 !-------------------------------------------------------------------795 725 !> @brief This function split string of character 796 726 !> using separator character, by default '|', … … 798 728 ! 799 729 !> @author J.Paul 800 !> @date November, 2013- Initial Version730 !> - November, 2013- Initial Version 801 731 ! 802 732 !> @param[in] cd_string string of character … … 878 808 ! 879 809 !> @author J.Paul 880 !> @date November, 2013- Initial Version810 !> - November, 2013- Initial Version 881 811 ! 882 812 !> @param[in] cd_string string of character … … 943 873 !> Optionally you could specify another separator. 944 874 !> @author J.Paul 945 !> @date November, 2013- Initial Version875 !> - November, 2013- Initial Version 946 876 ! 947 877 !> @param[in] cd_string filename … … 984 914 !> Optionally you could specify another separator. 985 915 !> @author J.Paul 986 !> @date November, 2013- Initial Version916 !> - November, 2013- Initial Version 987 917 ! 988 918 !> @param[in] cd_string filename
Note: See TracChangeset
for help on using the changeset viewer.