- Timestamp:
- 2015-11-27T17:35:41+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_Surge_Modelling/NEMOGCM/TOOLS/SIREN/src/function.f90
r5037 r5942 51 51 !> @endcode 52 52 !> 53 !> to check if character is real 54 !> @code 55 !> ll_is_real=fct_is_real(cd_var) 56 !> @endcode 57 !> 53 58 !> to split string into substring and return one of the element:<br/> 54 59 !> @code … … 89 94 ! REVISION HISTORY: 90 95 !> @date November, 2013 - Initial Version 91 !> @date September, 2014 - add header 96 !> @date September, 2014 97 !> - add header 92 98 ! 93 99 !> @note Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 106 112 PUBLIC :: fct_lower !< convert character from upper to lower case 107 113 PUBLIC :: fct_is_num !< check if character is numeric 114 PUBLIC :: fct_is_real !< check if character is real 108 115 PUBLIC :: fct_split !< split string into substring 109 116 PUBLIC :: fct_basename !< return basename (name without path) … … 153 160 ! 154 161 !> @author J.Paul 155 !> - September, 2014- Initial Version162 !> @date September, 2014 - Initial Version 156 163 ! 157 164 !> @param[in] cd_char string character … … 177 184 ! 178 185 !> @author J.Paul 179 !> - September, 2014- Initial Version186 !> @date September, 2014 - Initial Version 180 187 ! 181 188 !> @param[in] cd_char string character … … 201 208 ! 202 209 !> @author J.Paul 203 !> - Nov, 2013- Initial Version210 !> @date November, 2013 - Initial Version 204 211 ! 205 212 !> @param[in] cd_char string character … … 225 232 ! 226 233 !> @author J.Paul 227 !> - November, 2013- Initial Version234 !> @date November, 2013 - Initial Version 228 235 ! 229 236 !> @param[in] cd_char string character … … 249 256 ! 250 257 !> @author J.Paul 251 !> - November, 2013- Initial Version258 !> @date November, 2013 - Initial Version 252 259 ! 253 260 !> @param[in] cd_char string character … … 273 280 !> 274 281 !> @author J.Paul 275 !> - November, 2013- Initial Version282 !> @date November, 2013 - Initial Version 276 283 !> 277 284 !> @param[in] cd_char string character … … 297 304 !> 298 305 !> @author J.Paul 299 !> - November, 2013- Initial Version306 !> @date November, 2013 - Initial Version 300 307 !> 301 308 !> @param[in] cd_char string character … … 321 328 !> 322 329 !> @author J.Paul 323 !> - November, 2013- Initial Version330 !> @date November, 2013 - Initial Version 324 331 !> 325 332 !> @return file id … … 344 351 ! 345 352 !> @author J.Paul 346 !> - November, 2013- Initial Version353 !> @date November, 2013 - Initial Version 347 354 !> 348 355 !> @param[in] id_status … … 365 372 ! 366 373 !> @author J.Paul 367 !> - November, 2014- Initial Version374 !> @date November, 2014 - Initial Version 368 375 !> 369 376 !> @param[in] cd_msg optional message to be added … … 387 394 !> 388 395 !> @author J.Paul 389 !> - November, 2013- Initial Version396 !> @date November, 2013 - Initial Version 390 397 ! 391 398 !> @param[in] ld_var logical variable … … 409 416 !> 410 417 !> @author J.Paul 411 !> - November, 2013- Initial Version418 !> @date November, 2013 - Initial Version 412 419 ! 413 420 !> @param[in] bd_var integer(1) variable … … 431 438 !> 432 439 !> @author J.Paul 433 !> - November, 2013- Initial Version440 !> @date November, 2013 - Initial Version 434 441 ! 435 442 !> @param[in] sd_var integer(2) variable … … 453 460 !> 454 461 !> @author J.Paul 455 !> - November, 2013- Initial Version462 !> @date November, 2013 - Initial Version 456 463 ! 457 464 !> @param[in] id_var integer(4) variable … … 475 482 !> 476 483 !> @author J.Paul 477 !> - November, 2013- Initial Version484 !> @date November, 2013 - Initial Version 478 485 ! 479 486 !> @param[in] kd_var integer(8) variable … … 497 504 !> 498 505 !> @author J.Paul 499 !> - November, 2013- Initial Version506 !> @date November, 2013 - Initial Version 500 507 ! 501 508 !> @param[in] rd_var real(4) variable … … 519 526 !> 520 527 !> @author J.Paul 521 !> - November, 2013- Initial Version528 !> @date November, 2013 - Initial Version 522 529 ! 523 530 !> @param[in] dd_var real(8) variable … … 544 551 !> 545 552 !> @author J.Paul 546 !> - November, 2013- Initial Version553 !> @date November, 2013 - Initial Version 547 554 ! 548 555 !> @param[in] cd_arr array of character … … 590 597 ! 591 598 !> @author J.Paul 592 !> - November, 2013- Initial Version599 !> @date November, 2013 - Initial Version 593 600 ! 594 601 !> @param[in] cd_var character … … 647 654 ! 648 655 !> @author J.Paul 649 !> - November, 2013- Initial Version656 !> @date November, 2013 - Initial Version 650 657 ! 651 658 !> @param[in] cd_var character … … 697 704 ! 698 705 !> @author J.Paul 699 !> - November, 2013- Initial Version706 !> @date November, 2013 - Initial Version 700 707 ! 701 708 !> @param[in] cd_var character … … 723 730 END FUNCTION fct_is_num 724 731 !------------------------------------------------------------------- 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 !------------------------------------------------------------------- 725 795 !> @brief This function split string of character 726 796 !> using separator character, by default '|', … … 728 798 ! 729 799 !> @author J.Paul 730 !> - November, 2013- Initial Version800 !> @date November, 2013 - Initial Version 731 801 ! 732 802 !> @param[in] cd_string string of character … … 808 878 ! 809 879 !> @author J.Paul 810 !> - November, 2013- Initial Version880 !> @date November, 2013 - Initial Version 811 881 ! 812 882 !> @param[in] cd_string string of character … … 873 943 !> Optionally you could specify another separator. 874 944 !> @author J.Paul 875 !> - November, 2013- Initial Version945 !> @date November, 2013 - Initial Version 876 946 ! 877 947 !> @param[in] cd_string filename … … 914 984 !> Optionally you could specify another separator. 915 985 !> @author J.Paul 916 !> - November, 2013- Initial Version986 !> @date November, 2013 - Initial Version 917 987 ! 918 988 !> @param[in] cd_string filename
Note: See TracChangeset
for help on using the changeset viewer.